gecko-dev/gfx/layers/composite
Jean-Yves Avenard a0a2549c82 Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow
We can't rely on the FrameID continuity to determine if a frame has been dropped due to timing or not.
The reason being that the VideoSink will not send to the compositor frames it knows as being late already (causing a discontinuity in the frames IDs), and count them as being dropped.
If we were to look at discontinuity on the compositor we would account for those frames twice.

FramesID will also increase non-linearly if a frame isn't painted because it's not visible (either out of the visible tree or in a hidden tab).

What we can measure however, is when a frame should have been painted but didn't because it was too late by looking at the value returned by ImageComposite::ChooseImageIndex() or when a new set of images is being received by the ImageComposite.
Any images found in the earlier array but never returned must have been dropped due to timing.

Looking at the index continuity greatly simplify the logic as we no longer need to worry if a video is hidden or not, or be part of a layer that is itself hidden as neither SetImages will be called then, nor ChooseImage

For now, we only account for those frames dropped, and do not report them yet.

Differential Revision: https://phabricator.services.mozilla.com/D2176
2018-08-22 17:26:36 +02:00
..
AsyncCompositionManager.cpp Bug 1465616 - Use layout viewport transformations to async-adjust fixed position elements. r=botond 2018-07-20 17:45:48 -04:00
AsyncCompositionManager.h Bug 1464568 - Add an argument to ApplyAsyncProperties() to apply the transform by APZC or not. r=kats 2018-06-05 09:18:21 +09:00
CanvasLayerComposite.cpp
CanvasLayerComposite.h
ColorLayerComposite.cpp
ColorLayerComposite.h
CompositableHost.cpp
CompositableHost.h Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow 2018-08-22 17:26:36 +02:00
CompositorScreenshotGrabber.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
CompositorScreenshotGrabber.h Bug 1444432 - Implement screenshot grabbing in LayerManagerComposite. r=jrmuizel 2018-04-12 15:31:12 -04:00
ConsolasFontData.h
ContainerLayerComposite.cpp Bug 1483459 - Avoid copying regions before converting them to rects throughout the gfx directory. r=sotaro 2018-08-21 14:58:47 +02:00
ContainerLayerComposite.h Bug 1420512 - Try unifying data structures for scrollbar container and scrollbar thumb info. r=botond 2018-03-02 19:00:03 +01:00
ContentHost.cpp Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten 2017-12-19 15:48:39 -05:00
ContentHost.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
Diagnostics.cpp
Diagnostics.h
FontData.h
FPSCounter.cpp Bug 1428258 - Stop using GetNativePath in gfx/. r=jrmuizel 2017-12-17 00:13:30 +09:00
FPSCounter.h
FrameUniformityData.cpp
FrameUniformityData.h
GPUVideoTextureHost.cpp Bug 1477608 - Reuse same ExternalImageId for different video frames if possible r=jrmuizel 2018-07-25 23:30:08 +09:00
GPUVideoTextureHost.h Bug 1477608 - Reuse same ExternalImageId for different video frames if possible r=jrmuizel 2018-07-25 23:30:08 +09:00
ImageComposite.cpp Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow 2018-08-22 17:26:36 +02:00
ImageComposite.h Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow 2018-08-22 17:26:36 +02:00
ImageHost.cpp Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow 2018-08-22 17:26:36 +02:00
ImageHost.h Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow 2018-08-22 17:26:36 +02:00
ImageLayerComposite.cpp Bug 1429602: Rename BaseRect::IsZero to BaseRect::IsZeroArea. Also slip in some corrections to using BaseRect methods instead of direct member access. r=bas.schouten 2018-01-10 17:57:10 -05:00
ImageLayerComposite.h
LayerManagerComposite.cpp Bug 1477678 - Remove useless Compositor::SetDispAcquireFence. r=kats 2018-07-23 13:06:24 +00:00
LayerManagerComposite.h Bug 1483459 - Avoid copying regions before converting them to rects throughout the gfx directory. r=sotaro 2018-08-21 14:58:47 +02:00
PaintCounter.cpp Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten 2017-12-19 15:48:39 -05:00
PaintCounter.h
PaintedLayerComposite.cpp Bug 1398845 - Handle null mBuffer in PaintedLayerComposite::IsOpaque r=mstange 2018-02-22 20:53:10 -08:00
PaintedLayerComposite.h Bug 1398845 - Handle null mBuffer in PaintedLayerComposite::IsOpaque r=mstange 2018-02-22 20:53:10 -08:00
TextRenderer.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
TextRenderer.h
TextureHost.cpp Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow 2018-05-05 15:46:26 -07:00
TextureHost.h Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical 2018-06-16 17:42:33 +03:00
TiledContentHost.cpp Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow 2018-05-05 15:46:26 -07:00
TiledContentHost.h Bug 1461786 - Rename references to tile positions to tile coords. r=nical 2018-04-20 09:42:35 -05:00
X11TextureHost.cpp Bug 1464037 - Replace GL_PROVIDER_GLX by MOZ_X11 to build X11 dependent code, r=lsalzman 2018-05-24 14:06:31 +02:00
X11TextureHost.h