TCanvasGPUは、FireMonkey上のモバイルプラットフォームに使用されます。残念ながら、誰かが発見したように:FMX on iOS: how to perform partial invalidation?、このキャンバスはクリップの正しさをサポートせず、Canvas.InvalidateRect(TRectF)は常にキャンバス全体を無効にします。FireMonkey TPaintBoxのバックグラウンドを消去しないようにするにはどうすればよいですか?
これは、キャンバスの背景が常にOnPaintイベントの前に消去されることを除いて、それほど悪くはありません。つまり、OnPaint内の矩形だけを更新しようとすると、領域全体が最初にクリアされるため、破棄されます。したがって、最小の更新でさえ、キャンバス全体を描画する必要があります。
FireMonkeyで消去されたコントロール(特にTPaintBox)の背景を止めることができるかどうか知りませんか?以前は、ControlStyle:= ControlStyle + [csOpaque]を設定してVCLで可能でした。
FMX.FormsのTCustomForm.PaintBackgroundがローカルコピーを作成し、TCustomForm.PaintRectsの呼び出しをコメントアウトしました。コントロールが消去されると思っても、TPaintBoxキャンバスはまだ何とかクリアされています。自分の質問に答えるために