mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 01:35:35 +00:00
a0a2549c82
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 |
||
---|---|---|
.. | ||
AsyncCompositionManager.cpp | ||
AsyncCompositionManager.h | ||
CanvasLayerComposite.cpp | ||
CanvasLayerComposite.h | ||
ColorLayerComposite.cpp | ||
ColorLayerComposite.h | ||
CompositableHost.cpp | ||
CompositableHost.h | ||
CompositorScreenshotGrabber.cpp | ||
CompositorScreenshotGrabber.h | ||
ConsolasFontData.h | ||
ContainerLayerComposite.cpp | ||
ContainerLayerComposite.h | ||
ContentHost.cpp | ||
ContentHost.h | ||
Diagnostics.cpp | ||
Diagnostics.h | ||
FontData.h | ||
FPSCounter.cpp | ||
FPSCounter.h | ||
FrameUniformityData.cpp | ||
FrameUniformityData.h | ||
GPUVideoTextureHost.cpp | ||
GPUVideoTextureHost.h | ||
ImageComposite.cpp | ||
ImageComposite.h | ||
ImageHost.cpp | ||
ImageHost.h | ||
ImageLayerComposite.cpp | ||
ImageLayerComposite.h | ||
LayerManagerComposite.cpp | ||
LayerManagerComposite.h | ||
PaintCounter.cpp | ||
PaintCounter.h | ||
PaintedLayerComposite.cpp | ||
PaintedLayerComposite.h | ||
TextRenderer.cpp | ||
TextRenderer.h | ||
TextureHost.cpp | ||
TextureHost.h | ||
TiledContentHost.cpp | ||
TiledContentHost.h | ||
X11TextureHost.cpp | ||
X11TextureHost.h |