設定

特定のユースケースに向けて Taffy を最適化します。

Taffy はすぐに使用できますが、パフォーマンス、精度、またはリソース制約に合わせて調整できます。

容量の事前割り当て

必要なノード数がだいたいわかっている場合は、容量を指定してツリーを初期化すると、メモリの再割り当てを減らし、起動パフォーマンスを向上させることができます。

Loading Preview…

丸め設定

レイアウト値を整数(ピクセル)に合わせるか、正確な浮動小数点数のままにするかを制御します。

設定関数説明
丸め有効化tree.enableRounding()デフォルト。値を最も近いピクセルに丸めます。UI でのぼやけた境界線を防ぎます。
丸め無効化tree.disableRounding()高精度浮動小数点数を使用します。ベクターグラフィックやズーム可能な UI に最適です。
Loading Preview…

メモリ管理

FinalizationRegistry が利用可能な環境では、JavaScript バインディングは不要になった WASM オブジェクトの自動解放を登録します。ただし解放時期は保証されず、未対応の環境では自動解放されません。不要になった TaffyTree、Style、Layout、捕捉した TaffyError は .free() で明示的に解放できます。

newLeaf()、newWithChildren()、setStyle() はスタイルをコピーするため、渡した Style はその後解放できます。getStyle()、getLayout()、測定コールバックの第 5 引数も独立した所有オブジェクトで、ツリーの解放とは別に解放します。Layout.get() などが返す通常の JavaScript オブジェクトや配列、ノード ID 自体には .free() は不要です。

解放したオブジェクトは再使用しないでください。ライブ例の TaffyTreePreview には有効なツリーが必要なので、描画での使用が終わってからツリーを解放します。短い例で後片付けを省略している場合も、実際のアプリケーションではこの寿命管理が必要です。

WASM ヒープでのメモリ消費の急増やリークを防ぐため、明示的にメモリを管理することを推奨します:

  • 再利用(推奨): .clear() を使用して、ノード格納領域の容量を保持したままツリーをリセットします。子リストなどは作り直すため、すべての再割り当てを回避できるわけではありません。
  • 破棄: ツリーの使用が完全に終了し、すぐにメモリを解放したい場合は、.free() を使用します。
const tree = new TaffyTree(); // ... ツリーを使用 ... // オプション 1:ツリーを再利用(推奨) // すべてのノードをクリアしますが、割り当てられたメモリは保持されます tree.clear(); // オプション 2:完全に解放 tree.free();

次のステップ

© 2026 ByteLand Technology Limited