RFR: 8305578: X11GraphicsDevice.pGetBounds() is slow in remote X11 sessions [v5]
Maxim Kartashev
mkartashev at openjdk.org
Thu Apr 27 09:36:00 UTC 2023
On Wed, 26 Apr 2023 22:09:30 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:
> Is it possible to set insets in the device constructor
I would very much like to delay getting the insets until they are actually needed. The device construction is already happening at the time when lots of info is being fetched from the X server; however, insets are needed relatively rarely, the major use case being pull-down menus.
In Ubuntu, for instance, you can change your Dock size gradually with a slider and each time insets get updated. But unless you open a menu while dragging that slider (which is virtually impossible), the Java program doesn't need to know about new insets, all it needs is to know that the current insets are outdated. Once Dock has been resized *and* the focus has shifted to the Java application *and* menu is about to be opened, then we *must* call `getScreenInsetsImpl()` to fetch the new insets. In this scenario we do this only once instead of each time the slider in the Dock configuration dialog changes its state.
> Is it possible [...] update it on a callback? In this case, this method will be just an accessor.
I'm afraid I don't fully understand what you meant. Can you give an example in pseudo-code?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13346#discussion_r1178857998
More information about the client-libs-dev
mailing list