 asdf
join:2002-09-07
| Troubleshooting X performance problems?
I have a Dell Latitude D630. It has a nVidia Quadro NVS135M inside it. I'm running Jaunty with the latest nVidia proprietary driver downloaded from their website.
Just having installed Ubuntu on this machine, I noticed awful performance for simple 2D tasks. I don't have compiz or any crazy effects, and I'm not even running GNOME. My window manager is fvwm.
I noticed that dragging a window around the screen causes my CPU usage to skyrocket (eats up to 70% of my CPU sometimes). This should not be such an issue because my CPU is a 2.2GHz Core 2 Duo. What's the problem here? Shouldn't a lot of the rendering work be done on the GPU anyway?
glxinfo shows that direct rendering is indeed enabled. I'm out of clues on what else to look for now. How do you troubleshoot such performance issues? It's really annoying that I can barely do simple tasks like moving windows around.
Another odd symptom I noticed is that moving windows *down* the screen is more costly in terms of CPU usage than moving windows *up*. Strange indeed... |
|
  JohnInSJ Premium join:2003-09-22 San Jose, CA
·Comcast
| You sure its an nvidia? Most people seem to have intel on that model.
Anyway, sounds like its using the vesa driver.
check your /etc/X11/xorg.conf file for:
Driver "vesa"
If its there, delete it or comment out, then logout/in or reboot to restart X
Moving a window should not use any CPU unless you're using the vesa brain dead driver. -- My place : »www.schettino.us |
|
  nwrickert sand groper Premium,MVM join:2004-09-04 Geneva, IL
·AT&T U-Verse
·AT&T Midwest
| reply to asdf I seem to recall a similar problem, with a different graphics card.
The native resolution of the monitor is 1440x900. But the linux version I was using at that time did not have automatic support for that. Anything graphic was slow and used resources. I was eventually able to hand craft an X configuration that supported the monitor native resolution. And then it looked better, and performed well. Problems gone.
My current linux version has automatic support for the monitor, so it worked properly from the start. -- AT&T dsl; Speedstream 5100b modem; openSuSE 11.0; firefox 3.0.11 |
|
 asdf
join:2002-09-07
| reply to JohnInSJ Thanks for the replies.
said by JohnInSJ :You sure its an nvidia? Most people seem to have intel on that model. Anyway, sounds like its using the vesa driver. check your /etc/X11/xorg.conf file for: Driver "vesa" If its there, delete it or comment out, then logout/in or reboot to restart X Moving a window should not use any CPU unless you're using the vesa brain dead driver. Yep, I'm sure it's an Nvidia card (it was running Windows before). As a sanity check, lspci confirms the make and model. I also know for sure that it's using the proprietary nvidia driver (it's in my xorg.conf, and the nvidia splash shows at startup).
My screen resolution is indeed 1440x900.. I didn't have to configure anything special to do that... besides, xrandr would make it easy to check and switch... |
|
  benyto Premium join:2000-07-09 Chico, CA
| reply to asdf Not that this is a solution to your problem, but you may want to see if your window manager has an option to not display contents of windows while moving and resizing. That may at least make your desktop usable until a solution can be found.
Do you have the same problems when scrolling within a window, like a web browser? The front page of DSLR is a good one to test with. Grab the scrollbar and rapidly move your mouse up and down. |
|
 yazdzik Premium,MVM join:2000-07-26 Honesdale, PA
·New York Connect
·Verizon Online DSL
| Dear asdf,
For what it is worth, my cpu, using ondemand for power settings spikes when just moving a scrollnat with the 140m on a d830 latitude, so I am not sure whether it is a short spike you are having, such as when the cpu jumps from 800mhz to 2.4gz for less than a second, or there is a eal issue with the video card cpu.
The spikes in my ksysguard illustration are from moving things accross the desktop.
Is this sort of what you mean?
Best,
Martin -- Life is a series of return dates. There is but one final argument, its eloquence determines who we were, and whether who we were had meaning. |
|
 asdf
join:2002-09-07
| reply to asdf Thanks for the replies.
benyto: I do suspect that the non-opaque window moves would indeed eliminate the performance problems (I checked, and they in fact do). However, the problem isn't just in moving windows -- it seems to be anything that renders to the screen in general. For example, if I open a firefox window in one virtual desktop, switch to another to do some work over there, and then switch back to firefox, there is noticeable lag in the rendering of the window. Nothing that prevents me from getting work done, but noticeable enough to be annoying. And yes, I do see the same problem when scrolling a web browser -- looks like anything that renders to the screen will lag. Do you suspect that it's a problem with my CPU settings or my GPU settings?
yazdzik: Yes, your graphs do reflect what I'm seeing. It's not the CPU spike per se that I'm concerned about -- it's that scrolling and moving windows around feels sluggish. If I'm moving a window around in front of a firefox window, I can see a trail left behind from my moving window (similar to what you might see when firefox hangs). If I have a couple (2-3 windows) open in a virtual desktop, and I switch to that desktop, I can see the windows rendering one at a time. It happens quickly, but it should not take so long to render 3 plain xterms on a plain black background... |
|
  benyto Premium join:2000-07-09 Chico, CA
| Try playing with the InitialPixmapPlacement setting available with the nvidia-settings command to see if it makes any difference in the performance. From a terminal window:
where x is a number 0 - 4. No restart of X is necessary. Try with different values and see if there is any improvement. |
|
 asdf
join:2002-09-07
| said by benyto :Try playing with the InitialPixmapPlacement setting available with the nvidia-settings command to see if it makes any difference in the performance. From a terminal window: where x is a number 0 - 4. No restart of X is necessary. Try with different values and see if there is any improvement. Thanks, I just tried what you suggested for values between 0 and 4.. unfortunately it doesn't seem to improve anything. I'm rather confused -- I figure an NVidia Quadro is a pretty powerful card. My smaller D420 laptop, with integrated intel graphics, handles it much better than this bigger laptop.
Is there some de-facto standard for measuring graphics performance? Maybe that would help debug what's wrong here. I suppose maybe the number that glxgears reports, but I have no benchmark to compare it against, nor do I really trust those numbers as any indication of graphics performance.. |
|
  Epyon9283 Premium join:2001-12-26 Dayton, NJ | reply to asdf In my relatively limited experience, the 2D performance of the proprietary nvidia drivers is terrible. Absolutely terrible. I use the nouveau drivers with my 6800 and 2D performance is far better. |
|
  benyto Premium join:2000-07-09 Chico, CA
| reply to asdf Your issues are with 2D performance. glxgears is a 3D application. You may want to look at gtkperf for benchmarking 2D. Although that is only likely to tell you what you already know: 2D rendering is slow.
What version of the nVidia driver are you using? |
|
 asdf
join:2002-09-07
2 edits | Epyon9283: thanks, I'll have a look at that. How is the 3d performance with those drivers? I just looked at their page, and they make no mention of supporting nVidia Quadro cards, though... I'll poke around a bit.
benyto: Thanks. I'm using the latest version of the nVidia driver, which is 185.18.14 (for x86_64). My old desktop, with its GeForce 6600, never showed any such problems (though to be fair, it's a desktop video card, of course). |
|