<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 2 juill. 2019 06 h 10, RiccardoCagnasso <<a href="mailto:riccardo@phascode.org">riccardo@phascode.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Nicolas Dufresne-5 wrote<br>
> <br>
> This last sentence surprise me. I did quite some test, and on the same<br>
> monitor, I have never seen a de-sync. But the was not with Arun library<br>
> though. Maybe you need a bit of a debugging sessions.<br>
<br>
I don't use Arun library, but my own code is very similar. There might be a<br>
bug, yes, but I don't think this is the case. For two reasons.<br>
<br>
First the code is very simple.<br>
Second, I routinely use a single video played on a borderless window that<br>
spans across multiple outputs on big led walls and there's no perceivable<br>
de-sync.<br>
This means that the de-sync that you see across different monitors, is not<br>
caused by the "multiple monitors".<br>
<br>
I have somewhere a video of two synchronized playbins, one next to the<br>
other, on my laptop screen. The video is recorded in 120 fps slow motion and<br>
the de-sync every couple of second is quite clear.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">At 120fps, I wonder if the normal Linux scheduler can work. Just to remind, what we do in sink is simply wait on the pipeline clock and render. Whenever you are on the edge of the vblank, even if you have perfect clock, a slight scheduling jitter will lead to the image being rendered on unpredictable vblank.</div><div dir="auto"><br></div><div dir="auto">What my waylandsink experiment was about, was to use the presentation timestamp to predict the effective vblank time (on the pipeline clock) and initiate the render right after that vblank. This way the renderer could tolerate as much jitter as the vblank interval, hence would lead to a much more predictable render. To me what you observe at high framerate seems to match, but it's always hard to be certain.</div><div dir="auto"><br></div><div dir="auto">P.s. Right now this would work with freesync or other tech as long as your compositor rendering is paced. If the compositor was pacing the render based on app activity, the stats would end up unstable.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<br>
--<br>
Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/" rel="noreferrer noreferrer" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></blockquote></div></div></div>