On Thu, 21 Oct 2021 12:19:43 GMT, Masanori Yano <my...@openjdk.org> wrote:
> Could you please review the 8275715 bug fixes? > > I think D3DScreenUpdateManager posts unnecessary PaintEvent during processing > PaintEvent. When the validate method is called from createGraphics, > repaintPeerTarget should not be called. src/java.desktop/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java line 455: > 453: rq.unlock(); > 454: } > 455: } else if (!validate(sd, true)) { The comment below says that "the surface will also trigger a repaint", will it be possible we will trigger it inside validate here and then later inside "replaceSurfaceDataLater"? test/jdk/sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java line 36: > 34: public class MultiPaintEventTest extends Canvas { > 35: > 36: private int count = 0; Some synchronization is needed, the field is updated on EDT and checked on the main thread. test/jdk/sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java line 75: > 73: throw new RuntimeException("Processed unnecessary > paint()."); > 74: } > 75: } catch (InterruptedException ex) { Do not ignore an exception ------------- PR: https://git.openjdk.java.net/jdk/pull/6064