GNOME Bugzilla – Bug 729335
basesink: Should render buffers that arrived on time even if prepare() took some time
Last modified: 2014-05-02 22:54:08 UTC
Created attachment 275548 [details] [review] Always render prepared buffer if they arrived on time Currently basesink drops buffers if after having run prepare() they are considered late. This starves rendering, with result of no frame being rendered if prepare() takes a lot of time. This affect glimagesink on HW with low memory bandwidth. Instead of degrading correctly the rendering performance, we get no frame displayed.
*** Bug 728759 has been marked as a duplicate of this bug. ***
Comment on attachment 275548 [details] [review] Always render prepared buffer if they arrived on time commit 3895e431bd8e894b060c514f89618d7c74a84dfa Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> Date: Thu May 1 10:37:18 2014 -0400 basesink: Always render prepared buffer Currently, if prepare() takes too much time, we skip the call to render(). The side effect of this, is that we endup starving the render(). The solution in this patch is to always render frames that are on time before prepare() is executed. This will maximize the number of frames we display and smoothly degrade the rendering performance. https://bugzilla.gnome.org/show_bug.cgi?id=729335