[OpenJDK 2D-Dev] [14] RFR JDK-8235147: Release HDC from passiveDCList sooner
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Wed Dec 4 02:29:24 UTC 2019
On 12/2/19 2:45 am, Alexey Ivanov wrote:
> We can have two different functions though:
> ReleaseActiveDCs(HWND);
> ReleasePassiveDCs();>
> Then we can drop the list parameter.
> What do you think?
Yes, it is worth to try.
BTW it would be good to know do we really need passiveDCList, which
is populated on "WM_AWT_RELEASEDC" and immediately cleaned.
>
>>
>> On 12/1/19 7:04 am, Alexey Ivanov wrote:
>>> Hello,
>>>
>>> Please review the following fix for JDK:
>>>
>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8235147
>>> Webrev: http://cr.openjdk.java.net/~aivanov/8235147/webrev.00/
>>>
>>>
>>> When a DC becomes unused, it is moved from activeDCList to passiveDCList to be released later. It will stay in the passiveDCList until a new DC is requested for the same window or the window is destroyed.
>>>
>>> The DCs in passiveDCList will never be used again, so we can release them as soon as another request for a DC comes in.
>>>
>>> The test case, ManyFramesTest.java, attached to the bug creates and displays 10 frames. Then it hides the 9 frames. At this point, passiveDCList contains 9 entries. These DCs will not be released until the corresponding frame is shown and painted again or the frame is destroyed.
>>>
>>>
>>> The fix releases all DCs currently in passiveDCList when another DC is requested.
>>> With the fix, when running ManyFramesTest.java test case, the number of entries in passiveDCList does not grow, the list contains at most 1 entry.
>>>
>>> Mach5 for client tests is green.
>>>
--
Best regards, Sergey.
More information about the 2d-dev
mailing list