21

私が持っている WebGL プロジェクトでいくつかのメモリ使用量テストを実行しています。Google Chrome でページを開始し、Developers Tool の [プロファイル] タブでヒープ スナップショットを取得すると、ページが 7.5 MB を保持していると表示されます。

問題は、タスク マネージャーを調べると、使用している実際の値がほぼ 1 GB であることです。ページに何千ものオブジェクトを実際に強制しているので、これは当然のことですが、問題は、なぜ Chrome が 7.5 MB しか使用していないと表示するのかということです。

4

2 に答える 2

14

アップデート

ネイティブメモリグラフを表示できるネイティブメモリスナップショットがありました。残念ながら、それは壊れやすいコードであったため、削除しました。それは何百ものクラスで重要なインストルメンテーションを必要とし、バイナリサイズに影響を与えました。後で再実装したいと思います。

だった

Javascriptヒープのスナップショットを取ります。すべてのjavascriptオブジェクトは7.5MBを使用します。このサイズには、画像、キャンバス、オーディオファイル、プラグインデータなどは含まれません。

DevToolsにはネイティブメモリスナップショットがあります。レンダラープロセスで使用される非JavaScriptメモリをカウントしますが、これは実験的な機能です。

でDevTools実験機能を有効にしchrome://flags、ブラウザを再起動し、DevTools設定パネルでNative Memory Profiler実験機能を有効にして、DevToolsを再度開く必要があります。

これらすべての手順を実行すると、プロファイラーパネルでネイティブメモリスナップショットを取得できるようになります。ネイティブメモリヒープ内のすべてのメモリチャンクがカウントされるわけではありませんが、現在取り組んでいます。

カナリアバージョンのChromeを使用してください。毎日更新され、他のバージョンのChromeと並行して動作します。

ページがギガバイトのメモリを消費し、10%〜20%を超える大きな「その他」のバーがある場合は、そのことに関するメールをGoogle Chrome DeveloperToolsFoumsに送信してください。

于 2012-11-10T06:41:36.820 に答える