Last Comment Bug 647945 - Scrolling framerate can reach unreasonable levels and should be throttled
: Scrolling framerate can reach unreasonable levels and should be throttled
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: 2.0 Branch
: x86_64 Windows 7
: -- minor with 2 votes (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
:
Mentors:
: 575342 (view as bug list)
Depends on:
Blocks: 792639 792435
  Show dependency treegraph
 
Reported: 2011-04-05 23:36 PDT by Kris
Modified: 2012-11-09 16:07 PST (History)
18 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Kris 2011-04-05 23:36:06 PDT
User-Agent:       Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0
Build Identifier: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0

When scrolling on webpages, Firefox 4 (with HW acceleration enabled) causes my graphics card clocks to go from "2D low power" levels (150/300MHz core/mem) to "3D performance" levels (725/1000MHz). The effect tends to persist for a couple of seconds after scrolling stops.
Scrolling text boxes also cause the effect.
Turning off smooth scrolling doesnt appear to make a difference.

General page interactions etc in the browser can cause very brief (<1s) clock frequency spikes to something in-between (Ive observed 400/900 and 550/900 clocks, 3D low power I think its called), which I dont really consider an issue.

I used Techpowerup's GPU-z tool to monitor GPU clock frequencies, and Beepa FRAPS to display an FPS overlay on the firefox window (use the "monitor aero desktop" setting in fraps).

Most interactions with web pages, the FPS stays below 20, and clocks stay at the 2D low level. When scrolling, reported FPS often goes above 100, up to 200 FPS on my machine. This seems to indicated that scrolling will try and get the maximum FPS it can from the GPU.
Is there any reason not to cap it at the monitor refresh rate instead (vsync?), thus maybe preventing the need to go to 3D performance mode?
This is particularly of concern on laptops where increased GPU clock frequencies (and thus power consumption) will negatively affect battery life, although OS power profiles may prohibit use of 3D perf mode when on battery.

I also noticed that when a flash video (youtube) is playing, that the clocks go to 3D low power mode, and scrolling whilst the video is playing will not raise the clocks to 3D perf mode.

Reproducible: Always

Steps to Reproduce:
1. Start Firefox 4 (with HW accel.)
2. Start GPU-z and Fraps (enable 'monitor aero desktop')
3. Navigate to any long page in Firefox, scroll up/down etc.
4. Observe FPS overlay from Fraps and GPU clocks in GPU-z
Actual Results:  
FPS often goes over 100
GPU clocks up to its maximum speed

Expected Results:  
Not cause the GPU to go to full speed/3D perf clocks (3D low power would be acceptable though)
FPS while scrolling capped to refresh rate(??)

My relevant system specs:
Win 7 Pro x64
ATI Radeon HD 5850 graphics card, Catalyst 11.3 drivers.
Comment 1 Robert O'Callahan (:roc) (email my personal email if necessary) 2011-04-07 15:47:08 PDT
Yes, we should cap the FPS. However, using the GPU to accelerate scrolling in general is a feature, not a bug.
Comment 2 Stephanie Daugherty [:sdaugherty] 2011-05-19 00:11:56 PDT
*** Bug 575342 has been marked as a duplicate of this bug. ***
Comment 3 [Baboo] 2011-05-19 07:03:55 PDT
Did you actually test whether forcing VSync using the control panel of the GPU driver made a difference for you?
Comment 4 Jack Daniels 2011-10-30 13:51:06 PDT
Same here - Firefox 7, Windows 7 64bit, 6870 latest Catalyst 11.9.

Scrolling and rendering certain pages makes GPU temps and clocks spike for extended periods. Disabling hardware acceleration makes no difference. about:config shows it's disabled, but I still get high GPU clocks and temps at 45C. I have been disabling HWA to deal with this problem, but in 7 it won't disable.

In IE9, my browsing and scrolling temp is 36C. nVidia apparently recently released a fixed driver for high temps during scrolling. See here for details:

http://www.rage3d.com/board/showthread.php?t=33983045
Comment 5 dark_skeleton 2012-07-12 03:59:20 PDT
This needs to be fixed. I have a high-end GPU and when smooth scrolling is ON, it always (yes, always) goes into high performance mode, which means almost 14x higher clocks (51MHz -> 770MHz, temperature goes up almost instantly by over 7*C, imagine additional power draw). Almost the same happens when using third-party smooth scrolling plugins (but the GPU usage is a bit lower when using them)

Firefox 13.0.1, Windows 7 x64, NVIDIA Driver 304.79 (Beta), GeForce GTX570

Additional info: GPU spikes are caused by smooth scrolling regardless of whether GPU acceleration is enabled or disabled. When smooth scrolling is disabled, but HWA is enabled, clocks remain low.
Comment 6 Robert O'Callahan (:roc) (email my personal email if necessary) 2012-07-12 05:09:29 PDT
The frame rate for everything, including scrolling, is now limited to 60fps. So the original bug reported here should be fixed.

Please file a new bug for the GPU power usage issue. When you do that, please specify exact steps to reproduce --- the page you're scrolling on, the exact way in which you scroll it, and how long you scroll it for. Thanks!!!
Comment 7 Mark Rejhon 2012-08-20 11:35:21 PDT
Please cap it to VSYNC instead. (_PLEASE_)  Scrolling looks worse at 60fps on the new "120 Hz" computer monitors.  

Some of us are sensitive to added motion blur when trying to read text while simultaneously scrolling (something some people do with CRT displays, but less often with LCD due to ghosting)

Laptops don't go to 120 Hz, so power is not a concern.  There are many new 120 Hz displays coming to the market.
Comment 8 Mark Rejhon 2012-08-20 11:35:53 PDT
I suggest this bug be reopened unless the framerate matches the monitor refresh.
Comment 9 Vladimir Vukicevic [:vlad] [:vladv] 2012-08-20 12:07:15 PDT
Mark, can you file that as a followup bug?  Reopening this doesn't make sense since it was fixed, but we just need additional work.

Note You need to log in before you can comment on or make changes to this bug.