私は現在、josdirkson's SVG押し出しスクリプトを使用して、20〜30の複雑な形状のグループを形成しています。私の目標は、個々のオブジェクトだけでなくグループ全体をユーザーの相互作用を通じて個別に操作することです。私はこれまでこれを達成することができましたが、ロード時間はさまざまなデバイスで7秒から20秒の範囲です。私は、SVGのすべてのパスをbezierCurvesなどに変換するスクリプトにこの固有のことがたくさんあるかどうか疑問に思っていました。この場合、実行可能なソリューションがThree.jsからJSONに何らかの形でエクスポートされるかどうかは疑問でしたまたはユーザがロードしている後続のデータソースとなる他のファイルタイプである。私は簡潔にat this threadを見ていましたが、群衆が解決策を調達する前に自分自身を先取りすることを望んでいませんでした!どんなアドバイスや入力も大歓迎です!ありがとうございました!複雑なSVGファイルのロード/レンダリング時間を改善するために、THREE.GroupをJSONにエクスポートできますか?
1
A
答えて
1
私があなたに与えることができる最高のアドバイスは、ローディングプロセスのプロファイルを見ることです。これをクロムでテストするには、解析する領域のコードにconsole.profile('something');
とconsole.profileEnd('something');
の呼び出しを追加します。その後、devtoolsでプロファイルパネルを開き、ページをリロードして、またはjavascriptを再実行します。
これはおそらく、あなたが前提条件について正しいかどうかを伝えることができます。少なくともJSが費やしている時間を見つけるのに役立ちます。
実際にそうであれば、ジオメトリのキャッシュを行うことができます。geometry.toJSON()
とnew THREE.JSONLoader().parse(json)
を使用してジオメトリを保存および復元します。ほとんどの場合、これは何らかの形でジオメトリを計算するよりもはるかに高速でなければなりません。 (注:キャッシングを行うには、他にも空間効率の良い、さらにパフォーマンスの良い方法がありますが、json形式は始めるのに適しています)
関連する問題
- 1. このアルゴリズムの時間の複雑さを改善しますか?
- 2. インサートソートの実行時間の複雑さを改善しますか?
- 3. 1つのjsonオブジェクトを別のJSONオブジェクトにマッピングするための処理時間を改善する
- 4. 複雑なforループの代わりにパフォーマンスを改善する
- 5. MigraDoc v1.32のテーブル生成時間を改善できますか?
- 6. react.jsで読み込み時間を改善できますか?
- 7. 過度に複雑なhaskellリストのマッピングを改善しますか?
- 8. 時間の複雑さ(試験のために勉強する)
- 9. matlab実行可能ファイルの起動時間を改善する
- 10. 時間の複雑さのためのアルゴリズムを分析する
- 11. レコードを検索するための時間複雑度?
- 12. GWTのホストモード/コンパイル時間を改善するには?
- 13. Matlabの実行時間を改善しますか?
- 14. AWS Dynamodbの応答時間を改善
- 15. AS3ソケットの接続時間を改善
- 16. 実行時エラーのキャッチを改善するためのGCCフラグ?
- 17. appiumのタップ間の時間を改善する方法は?
- 18. 外部JSONファイルから複雑なJSonを逆シリアル化する
- 19. Pythonスクリプトを改善するためにスレッディングを使うべきですか?
- 20. 再帰アルゴリズムの空間複雑性を見つける一般的な方法は何ですか?時間の複雑さを見つけるために
- 21. DOMレンダリング時間を改善するには
- 22. PHPの時差機能を改善できますか?以下
- 23. 大きなテーブルで挿入時間を改善するにはどうすればよいですか?
- 24. 時間複雑
- 25. 時間複雑
- 26. 時間複雑
- 27. 時間複雑にネスト・ループ
- 28. jQuery SVGプラグインを使用してSVGアニメーションのパフォーマンスを改善するには
- 29. svgをファイルにエクスポートするには?
- 30. ファイル修正の時間の複雑さ?
ありがとうございました!今晩後半にプロファイリングの開始/終了トリガーを試してみましょう。これは私のスキルレベルを少し上回っていますが、私はそれを理解することが楽しいです!ここでは、私がクロム録画を撮ったスクリーンショットです:http://i.imgur.com/ueXm1Yu.png グループをJSONにエクスポートして個々のオブジェクトのアイデンティティを保存できますか?または、おそらく全体のシーンをエクスポートする階層を上に移動? – ChrisTalbot
ok、素晴らしい。実際には、メッシュの初期構造が問題であるように見えます。まず試してみることができるのは、mapboxによるearcut-library(https://github.com/mrdoob/three.js/issues/5959#issuecomment-148334316参照)のような、より高速な三角測量ライブラリを使用することです。私はまた、ワーカーで三角測量作業をすることをお勧めすることができますので、少なくともあなたのブラウザを凍結しないでください。 –
このサガの最新の開発は、JSONLoaderが押し出しオブジェクトをサポートしていないことです。 SVGパスをすべて小さくして、オブジェクトをインポートする別の方法を見つける必要があるかどうかを判断しようとしています。三角形図書館を調べることは、私のスキルレベルをはるかに超えているようです。 – ChrisTalbot