【问题标题】:Direct2d memory consumptionDirect2d 内存消耗
【发布时间】:2013-10-08 17:12:22
【问题描述】:

我正在测试 Direct2D 程序。

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

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

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

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

【问题讨论】:

  • Direct2D 是为了利用您机器的资源而编写的。在上个世纪将 30MB 称为大量内存是合适的,它不到今天可用内存的 0.75%。

标签: c++ direct2d


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 2011-10-03
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多