0

Direct2D プログラムをテストしています。

http://msdn.microsoft.com/en-us/library/windows/desktop/ff819062(v=vs.85).aspx

プログラム D2DCircle.exe をコンパイルして実行し、タスク マネージャーのメモリ列を確認すると、約 19 MB が使用されています (または割り当てられていますか?)。

そして、いくつかのブラシとジオメトリを使用して少し大きなプログラムを実行すると、タスク マネージャーのメモリ列に約 30MByte が表示されます。

なぜ direct2d は大量のメモリを使用するのでしょうか?

4

1 に答える 1

0

Direct2D は、一部のレンダリングされたプリミティブを (ビットマップとして) メモリにキャッシュする場合があります。すべてが GPU によって直接レンダリングされるわけではありません。

GDI+ は、この点でも非常に貪欲です。

私のSciterエンジンと比較できます。sciter.exe だけを起動すると Direct2D バックエンドが使用されますが、そのまま実行するとsicter.exe sciter-gfx=gdiGDI+ が使用されます。
D2D と GDI+ でレンダリングされた同じものの速度を比較すると、30 MB がまったくないことがわかります。

于 2013-10-05T06:34:31.080 に答える