Closed Bug 1150552 Opened 5 years ago Closed 5 years ago
.acceleration .draw-fps does not render correctly .
1.41 MB, image/png
1.84 KB, patch
|Details | Diff | Splinter Review|
40 bytes, text/x-review-board-request
Enabling the pref layers.acceleration.draw-fps on Windows 8.1 does not render properly on Windows 8.1, but part of the fps counter is cut off. See the attached screenshot for an example.
I believe this is a Graphics bug.
Component: Developer Tools: Performance Tools (Profiler/Timeline) → Graphics
Product: Firefox → Core
:mchang, maybe you can help here?
(In reply to Jukka Jylänki from comment #0) > Created attachment 8587452 [details] > layers-acceleration-drawfps.png > > Enabling the pref layers.acceleration.draw-fps on Windows 8.1 does not > render properly on Windows 8.1, but part of the fps counter is cut off. See > the attached screenshot for an example. Does this happen all the time or only during webgl content? For example, just browsing reddit or something, does it still occur.
It does occur on all pages, e.g. reddit.com as well. If I resize the window or maximize the window, it looks like it does one correct full refresh, but anything it prints after that is again cut to half.
Bisected this to have broken by this regression window: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=035a951fc24a&tochange=f1f48ccb2d4e . While bisecting, I notice that there are even two different bugs related to the fps counter: 1) the fps counter display is cut in half. That is shown in the screenshot in comment 0. This does not always happen, but when the browser window is maximized on Windows, it happens always. When the browser is in windowed mode, the fps counter seems to be rendered in full sometimes, and other times it is cut in half as well. 2) The fps counter does not continously update/rerender itself, but is stale and shows the same number. Resizing the browser window causes it to do one updated render.
This is really important for people developing full-framerate content, particularly with WebGL.
Severity: normal → critical
Component: Graphics → Graphics: Layers
Benoit, can you take a look?
Assignee: nobody → bgirard
I wont get to it right away (unless we think it's a rush) but I'll take a look soon.
This patch cheats a little bit but I think that's ok. It will invalidate for the *next* frame but since the FPS is active every frame then each frame keeps invalidating the next and so on. Note that this provides invalidation for the next frame but it doesn't request it so it doesn't affect how we schedule the frames, it just makes sure that we present the FPS counter on the next partial present. If we wanted to do this properly we would have to check if we had any debug overlay active in the BeginFrame call. I could be convinced to write that patch but IMO this is better.
Attachment #8645040 - Flags: review?(matt.woodrow)
Comment on attachment 8645040 [details] [diff] [review] patch Review of attachment 8645040 [details] [diff] [review]: ----------------------------------------------------------------- Maybe just comment about how this is invalidating for next time?
Attachment #8645040 - Flags: review?(matt.woodrow) → review+
Bug 1150552 - Fix partial present bug with FPS counter. r=mattwoodrow
Comment on attachment 8645070 [details] MozReview Request: Bug 1150552 - Fix partial present bug with FPS counter. r=mattwoodrow Bug 1150552 - Fix partial present bug with FPS counter. r=mattwoodrow
url: https://hg.mozilla.org/integration/mozilla-inbound/rev/803ba9e9abc703889ce73f0d4f16a2b411de2586 changeset: 803ba9e9abc703889ce73f0d4f16a2b411de2586 user: Benoit Girard <email@example.com> date: Fri Aug 07 14:11:18 2015 -0400 description: Bug 1150552 - Fix partial present bug with FPS counter. r=mattwoodrow
You need to log in before you can comment on or make changes to this bug.