RFR: 8304825: MacOS metal pipeline - window isn't painted if created during display sleep

Alexey Ushakov avu at openjdk.org
Thu Mar 30 08:55:18 UTC 2023


On Thu, 30 Mar 2023 06:53:46 GMT, Ajit Ghaisas <aghaisas at openjdk.org> wrote:

>> Use one display link thread per MTLContext. Adjust the refresh rate with the current display.
>
> I tested the test program of this bug and SwingSet2 - with and without external monitor attached.
> - This patch fixes the reported issue. Also, I did not see any regression in SwingSet2 while moving the test window between external monitors. All regression tests also ran successfully with this patch.
> - This patch has a negative impact on rendering performance.
> SwingMark tests show very poor numbers on x64 based macs. There is a performance decrease on M1 macs as well.
> I think, this has to do with removal of a dedicated `blitCommandQueue`. 
> 
> We need to address the performance degradation that this patch causes or look for a simpler solution.

@aghaisas could you return back the blit command queue in my patch and see if it resolves the performance issue with SwingMark? I'm not completely sure that it's the main reason for the performance degradation. Another possible reason is the increased amount of start/stop displaylink  calls because of changes in the logic that manages them.

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

PR Comment: https://git.openjdk.org/jdk/pull/13230#issuecomment-1489936273



More information about the client-libs-dev mailing list