On Sat, 4 Oct 2025 15:19:32 GMT, Thiago Milczarek Sayao <[email protected]> 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 Sorry I was wrong and should've tested with more than 1 window. The change to glXSwapIntervalEXT() doesn't work properly and behaves as if glFinish() is called for each window after glXSwapBuffer(), each causing a new wait for vblank. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1929#issuecomment-3384559383
