我正在开发一个在进程之间共享 D3D11 纹理的应用程序。我在中高端 PC Widows10,I7 10700F 和 Geforce RTX 2070 上开发,因为我在这里开发我的机器是 CPU 和 GPU USAGE 的任务管理器中报告的内容。
APP_NAME | CPU | GPU |
APP1.exe | 0.3% | 5% |
APP2.exe | 0.7% | 4% |
DWM | 0.8% | 2.5% |
现在在带有集成图形任务管理器的 Windows11,,i3 1115g4 上显示
APP_NAME | CPU | GPU |
APP1.exe | 9% | 26% |
APP2.exe | 8% | 23% |
DWM | 28% | 32% |
System | 10% | 5% |
这是一个很大的区别,GPU 几乎是最大的,CPU 是非常高的,这是预期的,因为它只有 2 个内核和 4 个线程的总最大值,它具有集成的图形。
但是,为什么 DWM(桌面 Windows 管理器)与高端 PC 相比使用如此多的 CPU 和 GPU(它对这些资源做了什么)。请注意,该应用程序工作正常,没有打嗝,只是该应用程序仍处于早期开发阶段,因此将在 GPU 和 CPU 上添加更多处理,并且它们几乎已用完。我知道我的应用程序规格需要更高的 PC,但我想知道我的应用程序体系结构是否有问题
应用架构
App1 是一个无边框窗口,覆盖一个屏幕,在那里我渲染到屏幕外纹理,然后在其交换链上渲染。此纹理是创建的 D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX 和 D3D11_RESOURCE_MISC_SHARED_NTHANDLE。
App2 是另一个屏幕中的另一个窗口,它打开共享纹理句柄及其与场景的组合,然后在其交换链上显示。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(1条)