キャンバスがカクつく
キャンバスのパン、ズーム、選択がカクつき、フレームがドロップする。
確認される症状
キャンバスのパンやラバーバンド選択などのスムーズな操作がカクつきます。フレームレートが目に見えて低下します。
原因
キャンバスレンダラーは、操作中の各フレームで再描画する必要があります。ほとんどのプロジェクトでは問題ありませんが、オブジェクト数が多い、パスが複雑、大きなラスターがあるなどの負荷の高いプロジェクトでは、レンダリングの予算を超えることがあります。
対処方法
テストのためにアンチエイリアスをオフにする
設定 → 表示で、アンチエイリアスを一時的にオフにします。カクつきが解消された場合、プロジェクトがレンダリング性能の制約を受けています。次のいずれかを行います。
- 負荷の高いプロジェクトの作業中はアンチエイリアスをオフにし、それ以外ではオンにする。
- プロジェクトのジオメトリの複雑さを減らす(大きなファイルでアプリが遅いを参照)。
塗りつぶし表示を切り替える
塗りつぶし表示はワイヤーフレームより処理負荷が高くなります。パンやズームを多用する間はオフ(Alt+Shift+W)にし、レイアウト作業ではオンに戻します。
モーションを減らす
設定 → 表示で、モーションを減らすをオンにします。これにより、フレーム予算を消費する一部のアニメーションが無効になります。
不要なパネルを閉じる
開いている各パネルは、キャンバスの変更に応じて更新されます。現在使用していないパネルを閉じると、そのオーバーヘッドを削減できます。
キャンバスのオブジェクト数を確認する
通常配列と仮想配列は、コピーごとに個別のキャンバスオブジェクトを作成します。そのため、大きな仮想配列でもレンダリング負荷が高くなることがあります。次の方法を検討してください。
- 配列の数を減らす。
- 配列を作成する前に、元のジオメトリを簡略化する。
- 非常に大きな繰り返しレイアウトを、より小さなプロジェクトのバッチに分割する。
高DPIディスプレイが原因の場合
解像度が高いほど、1フレームあたりのピクセル数が増えます。Retinaディスプレイでは、キャンバスが2xの解像度でレンダリングされることがあります。ここでできる対処は限られます。これはOSレベルのスケーリングで、画質は向上しますがパフォーマンスのコストになります。
改善を確認する
- パンとズームがスムーズになる(最新のハードウェアの多くでは60 fps)。
- 選択がすぐに反応する。
まだ解決しない場合
- 大きなファイルでアプリが遅い。
- 設定 → 表示のリファレンス。
- カクつきが発生するプロジェクトを添付して、フィードバックレポートを送信する。