On Thu, 2 Jun 2022 17:26:49 GMT, Alexander Zuev <[email protected]> wrote:
>> src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp line 993:
>>
>>> 991: } else {
>>> 992: fn_DestroyIcon((HICON)hIconSmall);
>>> 993: }
>>
>> Does it mean that we will extract all images except on the sides twice? for
>> 16x16 we will extract 16x16 and 32x32 on the next iteration for 32x32 we
>> will extract 32x32 and 64x64?
>>
>> Can we try to do that via different API:
>> https://devblogs.microsoft.com/oldnewthing/20140501-00/?p=1103 probably it
>> will work better?
>
>> Does it mean that we will extract all images except on the sides twice? for
>> 16x16 we will extract 16x16 and 32x32 on the next iteration for 32x32 we
>> will extract 32x32 and 64x64?
>
> No, on the next iteration we will extract 16x16 and 64x64. So on each
> iteration we are going to extract additionally 16x16 icon and if size is 24
> or more than we will ignore it. Since all the icons requested are cached that
> will not cause any performance degradation.
> Can we try to do that via different API:
> https://devblogs.microsoft.com/oldnewthing/20140501-00/?p=1103 probably it
> will work better?
No, during initial implementation i tried it and it worked even worse and less
stable.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7805