RFR: 8210547: [Linux] Uncontrolled framerate [v2]
Thiago Milczarek Sayao
tsayao at openjdk.org
Sat Oct 4 15:19:32 UTC 2025
> 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
-------------
Changes:
- all: https://git.openjdk.org/jfx/pull/1929/files
- new: https://git.openjdk.org/jfx/pull/1929/files/0d006dd3..a27a99eb
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jfx&pr=1929&range=01
- incr: https://webrevs.openjdk.org/?repo=jfx&pr=1929&range=00-01
Stats: 8 lines in 1 file changed: 6 ins; 2 del; 0 mod
Patch: https://git.openjdk.org/jfx/pull/1929.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1929/head:pull/1929
PR: https://git.openjdk.org/jfx/pull/1929
More information about the openjfx-dev
mailing list