Closed
Bug 825556
Opened 11 years ago
Closed 11 years ago
RequestContentRepaint frequency should be possible to limit with some timeout
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
mozilla20
People
(Reporter: romaxa, Assigned: romaxa)
Details
Attachments
(1 file)
1.83 KB,
patch
|
drs
:
review+
|
Details | Diff | Splinter Review |
I'm trying to reuse AsyncPanZoom controller for embedded browser, and it works fine on desktop, but on device (N9/Meego/Maemo) scrolling is very slow. I have checked what is cause the problem and it looks like we do request Content repaint on every TouchMove, Fling event... Without tweaking thread priorities, child thread (which is painting layers content) getting most of CPU time and moving UI thread priority out of the scope, so FPS rate drops from 60 to 35-40... I found in controller two variables PAN_REPAINT_INTERVAL,FLING_REPAINT_INTERVAL which are not used at all... Suggesting here to add handling for these prefs.
Assignee | ||
Comment 1•11 years ago
|
||
Assignee: nobody → romaxa
Attachment #696671 -
Flags: review?(bugzilla)
Comment 2•11 years ago
|
||
Have you tested this?
Comment 3•11 years ago
|
||
If this actually helps, I'd rather backout the patch in bug 787445.
Assignee | ||
Comment 4•11 years ago
|
||
Backout of that patch helps a bit for kinetic scroll fps jumps to 45-55... but still not enough. Static TouchMove still slow, I wonder also why do we need to repaint content in PANNING state? We have content enough pre-rendered for non kinetic scrolling, we do request paint on TouchStart/TouchEnd, between that we should just scroll around with simple layers composition.
(In reply to Doug Sherk (:drs) (:dRdR) from comment #3) > If this actually helps, I'd rather backout the patch in bug 787445. That logic was "backed out" and restored in a different form in bug 799401.
Comment 6•11 years ago
|
||
Comment on attachment 696671 [details] [diff] [review] Limit RepaintRequest by pref interval Review of attachment 696671 [details] [diff] [review]: ----------------------------------------------------------------- Great!
Attachment #696671 -
Flags: review?(bugzilla) → review+
Comment 7•11 years ago
|
||
Oh, note that I'd like to put the repaint intervals behind a pref eventually.
Assignee | ||
Comment 8•11 years ago
|
||
I guess we should initialize mPreviousPaintStartTime as well, I got strange assert Assertion failure: !aOther.IsNull() (Cannot compute with aOther null value), at ../../../dist/include/mozilla/TimeStamp.h:212 without that. will add that to the push, if nobody has any issues with that.
Assignee | ||
Comment 9•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/bd3b4d20072a
Comment 10•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/bd3b4d20072a
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in
before you can comment on or make changes to this bug.
Description
•