what the purpose of GlobalSkiaBitmapsInParallel ? #286
-
Hello, why in Delphi Athens GlobalSkiaBitmapsInParallel is not enabled by default? What could be the reason to disable it ? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
The More information about the
The initial implementation of TCanvas based on Skia already considered this possibility of removing the TCanvas internal lock by adopting the use of GPU when the target is the screen (form) and the use of CPU (raster) when the target is bitmaps or printer. The most modern backends (such as Vulkan and Metal) could even support the use of the GPU in the background unlike OpenGl but this would bring much more complexity so we adopted the same as Flutter and Xamarin, the use of CPU (raster) for bitmaps (but creating a texture cache of them when draws on screen). |
Beta Was this translation helpful? Give feedback.
-
Thank you, Viniciusfbb. Your thorough understanding and excellent work in this area are truly commendable. Your insights are greatly appreciated! |
Beta Was this translation helpful? Give feedback.
The
TCanvasStyle.DisableGlobalLock
was introduced on the lasts days before the code freeze of the RAD 12.0, and there wouldn't be much time for beta testing. So, theGlobalSkiaBitmapsInParallel
was introduced as experimental for now, disabled by default. I still have to review Skia's filters, but overall I think it's safe, mainly because System.Messaging is properly thread-safe now.More information about the
GlobalSkiaBitmapsInParallel
: