Closed
Bug 950247
Opened 12 years ago
Closed 11 years ago
Calculate FPS by tracking Frame Requests at the refresh driver to the compositor
Categories
(Core :: Graphics, defect, P2)
Tracking
()
RESOLVED
WONTFIX
1.4 S5 (11apr)
People
(Reporter: mchang, Assigned: mchang)
Details
(Keywords: perf, Whiteboard: [c=automation p=3 s=2014.04.11 u=])
Attachments
(1 file, 1 obsolete file)
1.28 KB,
patch
|
Details | Diff | Splinter Review |
Instrument the point from when the refresh driver ticks for a new frame to when the compositor finishes a frame and delivers the output to the GPU. This should give us a more accurate picture of FPS for synchronous scrolling.
Assignee | ||
Updated•12 years ago
|
Summary: Calculate FPS by tracking Frame Requests at the refresh driver to teh compositor → Calculate FPS by tracking Frame Requests at the refresh driver to the compositor
Assignee | ||
Comment 1•12 years ago
|
||
Just a work in progress to see if I'm on the right track (Lots of prototype and ugly code). I still need to make sure we're doing it in less than 16.6 ms, but for now we calculate number of frames we finished per second. Just a few questions:
1) Is this the right place? We're measuring from the point we get a DispatchMessage the Parent to the point the Compositor backend finishes the frame and before we do SwapGL. Or should we instrument the places where the actual composite message is created and put on the message loop?
2) I see that a lot of places we instrument are close to the same places as COMPOSITOR_PERFORMANCE_WARNING. Why can we not use that information instead?
Thanks!
Attachment #8347568 -
Flags: feedback?(bgirard)
Assignee | ||
Updated•12 years ago
|
Component: Metrics → Graphics
Product: Datazilla → Core
Mason, will this be generally useful for measuring things like swipe transitions between home pages, etc, or is this specific to scrolling?
Assignee | ||
Comment 3•12 years ago
|
||
Geo, I think it should help with every frame that's being generated, so even things like swipe transitions should be measurable here.
Nice, sounds great!
Comment 5•12 years ago
|
||
This patch doesn't do what is described in the bug. This patch seems to calculate something that is roughly what the transaction FPS counter shows. How does this differ from it?
Updated•12 years ago
|
Attachment #8347568 -
Flags: feedback?(bgirard)
Assignee | ||
Updated•11 years ago
|
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → ARM
Whiteboard: [c=automation p=5 s= u=] → [c=automation p=3 s= u=]
Target Milestone: --- → 1.4 S5 (11apr)
Assignee | ||
Comment 6•11 years ago
|
||
Ok let's try again. Hopefully I understand the problem better this time :). The current patch counts the number of frames painted based on when nsRefreshDriver::Tick is called. Once ~1 second has passed, we print out the FPS. Is this a better approach and reflective of the bug name? Thanks! If so, I'll go clean it up a bit.
Attachment #8347568 -
Attachment is obsolete: true
Flags: needinfo?(bgirard)
Comment 7•11 years ago
|
||
This is the transaction FPS. Let's discuss this in TPE next week since we're misunderstanding each other here.
Flags: needinfo?(bgirard)
Assignee | ||
Comment 8•11 years ago
|
||
After our discussion in TPE, this would only be valid on sync scrolling. For APZ, we will measure painting times + compositor FPS bug 990835. Resolving as wontfix.
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Updated•11 years ago
|
Whiteboard: [c=automation p=3 s= u=] → [c=automation p=3 s=2014.04.11 u=]
You need to log in
before you can comment on or make changes to this bug.
Description
•