Frame cache compensates for the fluctuation in frame processing times. Imagine a frame takes 10ms to process, and the interval between two frames is 33ms. The third frame took 40ms to process. If we don't have frame cache: - Process frame 1, ready after 10ms, starts playback, now t=0 ms - Start processing frame 2, ready at t=10ms, - Release frame 2 at t=33ms - We start processing the third frame at t=33ms - The third frame is due presentation at t=66ms - But frame 3 is available at t=73ms, late If we have a frame cache of say 3 frams, - Process frame 1, ready after 10ms, starts playback, now t=0 ms - Start processing frame 2, ready at t=10ms - Start processing frame 3, ready at t=50ms - Release frame 2 at t=33ms - Start frame 4, ready at t=60ms - Frame 3 is due presentation at t=66ms - Frame 3 isn't late PiperOrigin-RevId: 501869948
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| BitmapOverlay.java | Loading commit data... | |
| BitmapUtil.java | Loading commit data... | |
| ChainingGlTextureProcessorListener.java | Loading commit data... | |
| ColorLut.java | Loading commit data... | |
| ColorLutProcessor.java | Loading commit data... | |
| Contrast.java | Loading commit data... | |
| ContrastProcessor.java | Loading commit data... | |
| Crop.java | Loading commit data... | |
| DrawableOverlay.java | Loading commit data... | |
| ExternalTextureManager.java | Loading commit data... | |
| ExternalTextureProcessor.java | Loading commit data... | |
| FinalMatrixTextureProcessorWrapper.java | Loading commit data... | |
| FrameCache.java | Loading commit data... | |
| FrameCacheTextureProcessor.java | Loading commit data... | |
| FrameProcessingTask.java | Loading commit data... | |
| FrameProcessingTaskExecutor.java | Loading commit data... | |
| GlEffect.java | Loading commit data... | |
| GlEffectsFrameProcessor.java | Loading commit data... | |
| GlMatrixTransformation.java | Loading commit data... | |
| GlTextureProcessor.java | Loading commit data... | |
| HslAdjustment.java | Loading commit data... | |
| HslProcessor.java | Loading commit data... | |
| MatrixTextureProcessor.java | Loading commit data... | |
| MatrixTransformation.java | Loading commit data... | |
| MatrixUtils.java | Loading commit data... | |
| OverlayEffect.java | Loading commit data... | |
| OverlaySettings.java | Loading commit data... | |
| OverlayTextureProcessor.java | Loading commit data... | |
| Presentation.java | Loading commit data... | |
| RgbAdjustment.java | Loading commit data... | |
| RgbFilter.java | Loading commit data... | |
| RgbMatrix.java | Loading commit data... | |
| ScaleToFitTransformation.java | Loading commit data... | |
| SimpleBitmapLoader.java | Loading commit data... | |
| SingleColorLut.java | Loading commit data... | |
| SingleFrameGlTextureProcessor.java | Loading commit data... | |
| TextOverlay.java | Loading commit data... | |
| TextureInfo.java | Loading commit data... | |
| TextureOverlay.java | Loading commit data... | |
| package-info.java | Loading commit data... |