設定
特定のユースケースに向けて Taffy を最適化します。
Taffy はすぐに使用できますが、パフォーマンス、精度、またはリソース制約に合わせて調整できます。
容量の事前割り当て
必要なノード数がだいたいわかっている場合は、容量を指定してツリーを初期化すると、メモリの再割り当てを減らし、起動パフォーマンスを向上させることができます。
Loading Preview…
丸め設定
レイアウト値を整数(ピクセル)に合わせるか、正確な浮動小数点数のままにするかを制御します。
| 設定 | 関数 | 説明 |
|---|---|---|
| 丸め有効化 | tree.enableRounding() | デフォルト。値を最も近いピクセルに丸めます。UI でのぼやけた境界線を防ぎます。 |
| 丸め無効化 | tree.disableRounding() | 高精度浮動小数点数を使用します。ベクターグラフィックやズーム可能な UI に最適です。 |
Loading Preview…
メモリ管理
Taffy の JavaScript バインディングは、TaffyTree オブジェクトがガベージコレクションされる際に FinalizationRegistry を使用して WASM メモリを自動的にクリーンアップしますが、ツリーが頻繁に作成される高性能アプリケーション(ゲームループなど)では、GC だけに依存するのは不十分な場合があります。
WASM ヒープでのメモリ消費の急増やリークを防ぐため、明示的にメモリを管理することを推奨します:
- 再利用(推奨):
.clear()を使用して、メモリ割り当てを保持したままツリーをリセットします。割り当てのオーバーヘッドを回避できるため、ゲームループや再帰的なレイアウトに最適です。 - 破棄: ツリーの使用が完全に終了し、すぐにメモリを解放したい場合は、
.free()を使用します。
const tree = new TaffyTree(); // ... ツリーを使用 ... // オプション 1:ツリーを再利用(推奨) // すべてのノードをクリアしますが、割り当てられたメモリは保持されます tree.clear(); // オプション 2:完全に解放 tree.free();