A different way to handle pulse timing
John Hendrikx
hjohn at xs4all.nl
Mon Aug 5 15:27:03 PDT 2013
On 5/08/2013 20:46, Richard Bair wrote:
>>> As I wrote in the previous email, it seems that we currently are not blocked waiting for vsync(), at least on Windows with D3D pipeline. Anyway, even if we "fix" that, what you propose is that sometimes both threads will be blocked (the render thread waiting for vsync, the event thread waiting for the render thread), which doesn't sound perfect.
>> Right. That stinks.
> So today, the FX thread will block waiting for the render thread at the point where we synchronize state between the FX thread and render thread. The problem with this proposal is that we will wait here much longer waiting for vsync in the case that we have animations happening, which is just dead time when we ought to be preparing the next frame.
>
> Richard
Reading all this I get the distinct feeling that the current way of
doing things is 'double buffering', where you have to wait until vsync
arrives before you can start with the next frame, while you are looking
for 'triple buffering', which allows a new frame to be prepared in a
seperate buffer/graph/layout while the first (finished)
buffer/graph/layout waits to be passed off to the render thread when
vsync arrives.
--John
More information about the openjfx-dev
mailing list