0

我正在测试 Direct2D 程序。

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

当我编译并运行程序 D2DCircle.exe 并查看任务管理器的内存列时,使用了大约 19 MByte(或分配了?)

我使用一些画笔和几何图形运行一个更大的程序,任务管理器的内存列显示大约 30MByte。

为什么direct2d会使用这么多内存?

4

1 回答 1

0

Direct2D 可能会在内存中缓存一些呈现的图元(作为位图)。由于并非所有内容都由 GPU 直接渲染。

GDI+在这方面也比较贪心。

您可以将其与我的Sciter引擎进行比较。如果您只启动 sciter.exe,它将使用 Direct2D 后端,但如果您将运行它,sicter.exe sciter-gfx=gdi它将使用 GDI+。
如果您比较在 D2D 和 GDI+ 中渲染的相同内容的速度,您会发现 30mb 根本不算什么。

于 2013-10-05T06:34:31.080 回答