Closed
Bug 874781
Opened 12 years ago
Closed 11 years ago
add color bars to layer diagnostics, for vsync checking
Categories
(Core :: Graphics: Layers, defect)
Core
Graphics: Layers
Tracking
()
RESOLVED
FIXED
mozilla32
People
(Reporter: vlad, Assigned: vlad)
References
Details
Attachments
(1 file, 2 obsolete files)
(deleted),
patch
|
BenWa
:
review+
|
Details | Diff | Splinter Review |
Yay refactoring!
I wanted to have FPS data, layer borders, and I wanted to add frame colorbars. I didn't want to do them per-platform. Thus, I called in REFACTOR-MAN to helped me out! (Worst superhero ever.)
Assignee | ||
Comment 1•12 years ago
|
||
This refactors the diagnostics into Compositor, and adds color bar display. Diagnostics only work for new-world OMTC compositors, so all the more reason to get there.
Attachment #752598 -
Flags: review?(nical.bugzilla)
Assignee | ||
Comment 2•12 years ago
|
||
This moves the FPS display into generic code. Currently only fully implemented for D3D11, it needs DataTextureSourceOGL to be done which should be trivial. Will do it shortly.
Attachment #752599 -
Flags: review?(nical.bugzilla)
Updated•12 years ago
|
Attachment #752598 -
Flags: review?(nical.bugzilla) → review+
Comment 3•12 years ago
|
||
Comment on attachment 752599 [details] [diff] [review]
Part 2, move FPS display into generic code
Review of attachment 752599 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/2d/Factory.cpp
@@ +492,5 @@
> +
> + RefPtr<SourceSurfaceRawData> newSurf = new SourceSurfaceRawData();
> +
> + if (newSurf->InitWrappingData(data, aSize, stride, aFormat, true)) {
> + return newSurf;
should be newSurf.forget();
::: gfx/layers/FPPStats.cpp
@@ +12,5 @@
> +
> +gfx::SourceSurfaceRawData*
> +FPSUtils::AllocateFPSSurface()
> +{
> +}
file should have gone away
Comment 4•11 years ago
|
||
Comment on attachment 752599 [details] [diff] [review]
Part 2, move FPS display into generic code
Review of attachment 752599 [details] [diff] [review]:
-----------------------------------------------------------------
waiting for an updated version of this patch
Attachment #752599 -
Flags: review?(nical.bugzilla)
Comment 5•11 years ago
|
||
Comment on attachment 752599 [details] [diff] [review]
Part 2, move FPS display into generic code
Review of attachment 752599 [details] [diff] [review]:
-----------------------------------------------------------------
waiting for an updated version of this patch
::: gfx/layers/composite/TextureHost.h
@@ +116,5 @@
> + /* Upload a new DataSourceSurface to this DataTextureSource. It
> + * must have the same dimensions and format as what it was
> + * constructed with.
> + */
> + virtual bool UploadDataSourceSurface(gfx::DataSourceSurface *aNewSurface) = 0;
Actually, I'd like that this method take alsoe these two arguments:
- nsIntRegion* aDestRegion = nullptr // nullptr means the entire thing
- gfx::IntPoint* aSrcOffset = nullptr // nullptr means {0,0} offset
This is because for another bug we need this DataTextureSource abstraction with these two parameters to do partial updates.
Hi Vlad,
In many case, user cares not only AVG FPS, but also STEDV of FPS.
We may add more on screen sprite to reveal benchmark data for developer. Please also considerate this possibility of doing this.
To draw FPS in HwcCompositor, it's helpful if the hoster of HwcCompositor & CompositorOGL, which is LayerManagerOGL, is in charge of reading preference value and enable/ disable FPS drawing for both HwcCompositor and CompositorOGL.
Comment 9•11 years ago
|
||
(In reply to C.J. Ku[:CJKu] from comment #8)
> To draw FPS in HwcCompositor, it's helpful if the hoster of HwcCompositor &
> CompositorOGL, which is LayerManagerOGL, is in charge of reading preference
> value and enable/ disable FPS drawing for both HwcCompositor and
> CompositorOGL.
We can only do that on B2G, though. for other platforms only the main thread is allowed to directly access prefs.
Updated•11 years ago
|
Assignee | ||
Updated•11 years ago
|
Summary: refactor layer diagnostics, unify in Compositor → add color bars to layer diagnostics, for vsync checking
Assignee | ||
Comment 10•11 years ago
|
||
Reviving this, now that compositor is much more stable.
This just adds drawing color bars based on the current frame number. In the future, we can maybe use the actual transaction number from bug 854421 to know exactly when something made it to the screen (though that won't be enough, not all frames have a transaction).
Attachment #752598 -
Attachment is obsolete: true
Attachment #752599 -
Attachment is obsolete: true
Attachment #8416102 -
Flags: review?(bgirard)
Comment 11•11 years ago
|
||
Comment on attachment 8416102 [details] [diff] [review]
color-bars.patch
Review of attachment 8416102 [details] [diff] [review]:
-----------------------------------------------------------------
Looks great, sorry for the delay.
Attachment #8416102 -
Flags: review?(bgirard) → review+
Updated•11 years ago
|
Assignee | ||
Comment 12•11 years ago
|
||
Comment 13•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in
before you can comment on or make changes to this bug.
Description
•