我正在测试Direct2D程序。
http://msdn.microsoft.com/en-us/library/windows/desktop/ff819062(v=vs.85).aspx
当我编译并运行程序D2DCircle.exe并查看任务管理器的内存列时,使用了大约19 MByte(或已分配?)
我使用一些画笔和几何图形运行一个更大的程序,任务管理器的内存列显示大约30MByte。
为什么direct2d会如此多地使用大量内存?
答案 0 :(得分:0)
Direct2D可以在内存中缓存一些渲染的基元(如位图)。因为不是GPU直接呈现的所有内容。
在这方面,GDI +也非常贪婪。您可以将其与我的Sciter引擎进行比较。如果您只启动sciter.exe,它将使用Direct2D后端,但如果您将其作为sicter.exe sciter-gfx=gdi
运行,它将使用GDI +。
如果你比较在D2D和GDI +中渲染的相同内容的速度,你会发现30mb根本就没有。