Delphi FMX中GlobalUseSkia是否为所有组件启用Skia?
关于
GlobalUseSkia := True的生效范围及标准组件受益说明 生效范围:
GlobalUseSkia := True是全局级别的设置,并非仅针对Skia专属组件。它会让VCL框架在支持的场景下,优先使用Skia替代传统的GDI/GDI+进行渲染,覆盖范围包括官方Skia组件(如TSkLabel、TSkPaintBox),以及部分VCL标准控件的默认渲染流程。TPaintBox等标准组件的受益情况:
- 如果直接使用TPaintBox的传统GDI画布API(如
Canvas.LineTo、Canvas.TextOut)绘制,不会自动切换到Skia,无法直接获得Skia的性能提升。 - 若在
OnPaint事件中通过TPaintBox.Canvas.AsSkiaCanvas获取Skia绘图上下文,使用Skia原生API绘制,就能充分利用Skia的高性能渲染能力。 - 部分标准控件的默认渲染逻辑会被全局开关接管(比如文本渲染、渐变填充等场景),这类情况即使未主动调用Skia API,也能间接受益于Skia的优化。
- 如果直接使用TPaintBox的传统GDI画布API(如
注意:该设置仅在支持Skia集成的Delphi版本(如Delphi 11及以上)中生效,且项目需开启Skia相关编译选项。
内容的提问来源于stack exchange,提问作者user31362432
相关产品推荐
相关产品推荐

