I found that I can do GlobalUseSkia := True
to use Skia that is a lot better for performance, but is this for everything on my form or only Skia components?
Will my TPaintBox
and other standard components also benefit from this?
is this for everything on my form
Yes.
GlobalUseSkia := True
works for most components.
Will my TPaintBox and other standard components also benefit from this?
Enabling Skia will replace FireMonkey’s default canvas with Skia's canvas implementation. This applies to all FMX controls that use the standard TCanvas API, not just Skia controls. That means your TPaintBox
and other standard FMX controls will also render through Skia once this flag is set.
Longer explanation:
What GlobalUseSkia
does
This global variable tells FMX to use Skia as the backend for TCanvas
across the entire application. Internally, it swaps out the default TCanvas
class (which might be GPU‑accelerated via Direct2D, Metal, or OpenGL, depending on platform) with Skia's implementation.
Effect on standard controls
Any FMX control that paints via TCanvas
, including TPaintBox
, TImage
, TLabel
, TRectangle
, and many others will now be drawing through Skia. You don't need to replace them with TSkPaintBox
or other Skia‑specific controls to get the benefit.
Performance and quality
With GlobalUseSkia := True
, you’ll often see:
Note: Performance gains depend on workload and platform. FMX’s native GPU canvas may still be faster for some operations.