[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: RFR: 8275715: D3D pipeline processes multiple PaintEvent at initial drawing [v2]
From:       Sergey Bylokhov <serb () openjdk ! java ! net>
Date:       2021-10-28 9:07:14
Message-ID: aZX6pJkrGOTYLlAHRl9WlEGtoahiInx4QzelDWpV2b0=.c9a736f9-5dd5-4382-8513-94a0233105dc () github ! com
[Download RAW message or body]

On Thu, 28 Oct 2021 08:24:46 GMT, Masanori Yano <myano@openjdk.org> wrote:

> > 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"?
> 
> Yes, this run() is called on "D3D Screen Updater" thread. It is reasonable that a \
> new PaintEvent is posted when SurfaceData is replaced on this thread. I would limit \
> posting new PaintEvent via createGraphics() only.

Probably I should clarify my question, you added a parameter to the validate method \
and pass the "true" so the "validate" method will post a paint event, but just a few \
lines below there is a comment that the next code line \
"sd.getPeer().replaceSurfaceDataLater();" also will post an event. Is the comment \
outdated, or we will post two of them?

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

PR: https://git.openjdk.java.net/jdk/pull/6064


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic