PowerMizer too slow to go up from L0 causing Scrolling and Redraw issues in GTK+


I have seen the following issues for several months now and it started rather suddenly and thus far I was not able to figure out what was causing it:

Scrolling in GTK+(2/3) applications is sluggish, meaning: One can see fractions of the redraw happening. This is not related to smooth scrolling or tearing. I am talking about scrolling by a or several full pages. This is rather irritating while one is working. Best examples where this can be seen in action: Eclipse 4.x and Emacs 24.3.x - either GTK2 or GTK3.

Today, after some fortunate coincidence, I realized the following: This is absolutely only an issue when the card is in the lowest performance level. That also explains why the issue was not 100% reproducible all the time. If I put the card in performance mode or stick it to some specific performance level, everything is fine and the issue is gone.

This is a GTX470 and the lowest performance level is 50 MHz/135Mhz/101/MHz. Scrolling in either of the two applications, does not trigger a ramp up to the next performance level.

All of this is tested up to driver version 325.08 by the way. It does not matter of compositing is active, or whether I use KDE 4.10.5 (my main desktop) or XFCE.

Here my question:

  1. Can I somehow keep the adaptive power governor while barring the lowest level from ever being used?

  2. Can I somehow adjust the sensitivity of the governor to ramp up to a higher performance level earlier?

Sticking the card to a specific performance level or evening keeping it at max performance, is not really a nice solution after all. :(

Thanks in advance…


Bumping this!

I have the same exact problem with Nvidia 331.20 driver on Ubuntu 12.04 LTS with GTK based Pantheon desktop.

The most annoying thing is the browser scrolling which gets very jittery and sluggish when PowerMizer performance level is at the lowest setting (0). PowerMizer reacts too slowly and the browser scrolling is very sluggish first few seconds before performance level is ramped up to mid (1) or high level (2).

Looks like everything is running fine with medium performance level (1) so I would prefer to use it as the default minimum clock speed.

  1. Is there any way to tune PowerMizer performance level clock speeds?
  2. Is there any way to lock up the minimum performance level to 1?
  3. Is this really a driver issue or is there something weird going on with GTK (I have not tested any other desktops yet!)

Nice try but unfortunately I’d wager that there will still be no official response to this issue… which is sadly quite common in these forums. :(

No, at least with conventional / official means, the performance levels are set in stone.

No, there is nothing available to this. If you want the adaptive behaviour, you have no choice but the full range of performance levels. You can, however, fix the performance level to a specific level (without any automatic adjustment by the driver). That is what I did before I finally switched to Nouveau because of a current rather severe driver bug.

Have a look at the “RegistryDwords” option to the Xorg driver. There you can set a few bits and pieces to fix the performance level to a setting you want. But unfortunately this setting is rather coarse, meaning you can only choose between low, medium and high… and you most likely have more P-states than that.

Here is what I used:

Option      "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x2; PowerMizerLevelAC=0x2; PowerMizerDefault=0x2; PowerMizerDefaultAC=0x2; PowerMizerHardLevel=0x2; PowerMizerHardLevel=0x2"

Basically it fixed the P-state to medium. But be careful and double check everything for yourself.

Hope that helps…

I actually have the same issue in 2020 on the latest Linux Mint 19.3, using GTX 1660 Ti
Is there any solution to this? I would just like to set the minimal level setting.

They are still wondering in how to make it goes down faster since… well, years.