KonvaJS (最近 KineticJS から移植したもの) を独特の方法で使用するプロジェクトがあります。私は基本的にこれを使用して、建物の 3D 表現をアイソメ ビューで表示します (こちらを参照) 。
最初はすべて問題なく動作していましたが、建物のサイズが大きくなるにつれて、パフォーマンスが低下し始めました。これは、建物の照明を表現する必要があり、各照明器具には 3 つのポリゴンがあるためです。レイヤーとグループのみを使用します。ステージはドラッグ可能で、すべての照明器具が選択可能であるため、マウス イベントを使用します。
私が直面している主な問題は、ドラッグ時およびポイントとズーム時にステージを再描画することです。たとえば、私はほぼ 2000 の照明器具を備えた大きな建物を持っていますが、それを扱うことは不可能です。
これが私のノードリストの簡略版です。
- ステージ
- 層
- 壁ISO (グループ)
- nx ポリゴン
- floorISO (グループ)
- nx ポリゴン
- 照明器具ISO (グループ)
- シングル照明器具(グループ)
- 3×ポリゴン
- シングル照明器具(グループ)
- ...
- シングル照明器具(グループ)
- 壁ISO (グループ)
- 層
別のレイヤーを使用する必要がありますか? それは良くなるでしょうか?不足しているものはありますか?3D フレームワークを使用するべきだったと考え始めています。