You are not logged in.
Hiho, didn't find anything about this, but maybe someone else experienced something like this:
I am currently running arch linux on my desktop machine, using a GTX 770 (and nvidia + nvidia-libgl). I have two monitors:
1. DP @ 3840x2160
2. DVI @ 1920x1080
When i open a chrome on a screen and minimize it, drag and drop other windows (e.g. a terminal) it lags. If i pull it onto the other monitor, its moving fluently. Now i change my chrome window to the other screen, and upon "moving" of the terminal, it lags. Moving it to the other screen => fluent again.
Where is this coming from? Might chromium solve this issue?
Thanks for help :-)
btw: where is the difference between chrome and chromium? i know that chromium is open source and does not provide flash (?)
Last edited by katze123 (2016-04-23 09:13:50)
Offline
When you write "lag", do you mean the window is moving around with stutter in the animation, or do you mean it has a long delay following the mouse pointer but still moves with a smooth animation?
Things you can try:
See what happens if you set this in the environment:
__GL_YIELD=USLEEPYou can check if a certain process has this this environment variable set by using 'htop'. You select the process and press 'e' to see its environment.
Remove that again if it doesn't help, and try the following in the xorg.conf.d file that has the nvidia device section in it:
Option "TripleBuffer" "True"Triple buffer should introduce a frame of latency when dragging windows around, but it might be smooth.
Last edited by Ropid (2016-04-23 20:08:02)
Offline
When you write "lag", do you mean the window is moving around with stutter in the animation, or do you mean it has a long delay following the mouse pointer but still moves with a smooth animation?
I mean stuttering, the window moves exactly on the mouse, but only with 3 fps e.g.
Things you can try:
See what happens if you set this in the environment:
__GL_YIELD=USLEEPYou can check if a certain process has this this environment variable set by using 'htop'. You select the process and press 'e' to see its environment.
does not work ![]()
Remove that again if it doesn't help, and try the following in the xorg.conf.d file that has the nvidia device section in it:
Option "TripleBuffer" "True"Triple buffer should introduce a frame of latency when dragging windows around, but it might be smooth.
I dont have any config in xorg.conf.d even though i have the nvidia driver installed. will try to add an nvidia conf now an report back in some minutes.
//edit: nope, not working. it happens with chromium as well. other windows at big resolutions work fine...
Last edited by katze123 (2016-04-24 20:54:18)
Offline
It is a known problem with mutter & co. and it is just works this way. More info https://devtalk.nvidia.com/default/topi … ome-unity/
Offline
It is a known problem with mutter & co. and it is just works this way. More info https://devtalk.nvidia.com/default/topi … ome-unity/
ah okay, fine. why is it only with chrome and no other applications? ![]()
Offline
When the stutter problems happen for me, it's because X doing something to windows plus a program using the GPU for video acceleration for example. When the windows on the screen get rearranged, the CPU usage for Xorg goes through the roof in that situation. From what I understood, this is because of several processes asking the OpenGL driver for something, and OpenGL waiting on hardware buffers getting available, and Xorg also wanting something at the same time. The CPU usage goes up because processes are in loops waiting on things to answer.
You can open htop in a window and make it sort by the CPU% column to see this happening. While experimenting, the easiest thing to test this for me is playing a 60 fps stream in Chrome on twitch.tv, while Firefox is also open with OpenGL acceleration enabled for it, then moving around a window. I think what was also bad was playing an 1080p video in mpv with vdpau acceleration and then moving another window around.
There's different fixes for the different window managers and compositors. In KDE's kwin, I can fix the issue by using "__GL_YIELD=USLEEP" in the environment. Xorg's usage then stays below 100% normally. In i3 or Openbox plus Compton, the fix is to enable triple buffering in the X config for the nvidia driver. The last time I extensively used Gnome3 was with the later versions of 3.18, and there I didn't really have to do anything special from what I remember.
Triple buffering is sometimes super high latency, and that's perhaps what's described in that thread on the nvidia forums. It wasn't usable in Gnome or KDE as the windows were massive amounts behind the mouse pointer when I dragged them around. That's why I always had it off. With i3+compton, triple buffering seems to be the only way to fix the issue for me, and it for some reason doesn't have that latency I saw with Gnome/KDE.
Another thing, Gnome's mutter and KDE's kwin always seemed a lot better about this problem compared to i3 or Openbox. They appeared to be more efficient with regards to CPU usage of the Xorg process. Like, in a situation where I'd get close to 100% usage in Openbox moving windows around, it would just be 40% or something in Gnome.
EDIT: This is with a GTX 680.
Last edited by Ropid (2016-04-24 22:33:53)
Offline
Goresome wrote:It is a known problem with mutter & co. and it is just works this way. More info https://devtalk.nvidia.com/default/topi … ome-unity/
ah okay, fine. why is it only with chrome and no other applications?
This happens also with another OpenGL applications, or when there are a lot of windows open on desktop, there is CPU bottleneck somewhere between Xorg <--> mutter and it can't keep up 60 fps, thus stuttering. Mutter devs aware of this but there is no plans to fix this problem afaik. Kwin works differently and don't suffer from this at all, I get 20% CPU usage in extreme situations and still constant 60 fps.
Offline