RFR: 8210547: [Linux] Uncontrolled framerate [v2]

notzed duke at openjdk.org
Fri Nov 14 23:04:01 UTC 2025


On Sat, 4 Oct 2025 15:19:32 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:

>> As Michael Zucchi pointed out on the mailing list, the high framerate occurs because `glXSwapBuffers() `operates asynchronously. To ensure proper synchronization, you can call `glFinish() `afterward, which blocks until the buffer swap is fully completed. However, when using `glXSwapIntervalSGI`, the swap interval setting applies globally rather than per drawable. In contrast, `glXSwapIntervalEXT` provides per-drawable control, allowing finer-grained vsync behavior.
>> 
>> I don't know if there are scenarios when the unlimited frame rate is needed - if so we should provide a option.
>> 
>> See [https://wikis.khronos.org/opengl/Swap_Interval](https://wikis.khronos.org/opengl/Swap_Interval)
>> 
>> It also selects the correct visual for transparency which needs to be depth = 32 for X11.
>
> Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Call glXSwapIntervalEXT or glXSwapIntervalSGI if not null

Yeah it doesn't work.  FWIW I've now got an OCP done - it took a couple of weeks so I moved onto other things and haven't revisited it.  I didn't get much traction discussing it on the list either.

I do have a couple of patches which fix the problem but I wanted to do some latency testing to confirm it's further utility - but should I just submit a pull request anyway?

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1929#issuecomment-3534982943


More information about the openjfx-dev mailing list