2
我知道渲染透明窗口的唯一方法是调用UpdateLayeredWindows,这在需要渲染D3D9渲染目标的结果时非常缓慢。
我必须通过调用GetRenderTargetData和 读取渲染目标数据到系统内存,然后我必须通过调用UpdateLayeredWindow在屏幕上呈现它。渲染透明窗口
Here http://msdn.microsoft.com/en-us/library/windows/desktop/ee890072(v=vs.85).aspx 有关于如何通过“D3D9Ex翻转模式呈现给DWM”优化呈现的说明。
是否有某种类似的渲染顶级透明窗口的优化?
感谢
如果您不需要每像素alpha,请尝试使用SetLayeredWindowAttributes(指定alpha或颜色键),然后按正常方式绘制/更新。与UpdateLayeredWindow相比,我不知道这将如何实现,但值得一试。 – BrendanMcK
我想我需要每像素阿尔法。我憎恨那里应该有类似的WDM优化 – pkirill
[本文](http://www.codeproject.com/Articles/17727/Unmanaged-Vista-Power)似乎做你想做的。我还没有尝试过。 – arx