我有一个视口(viewport),其中包含我使用 Direct2D
绘制的一些形状。当我改变一些东西时,例如我将一个矩形填充从红色设置为绿色,我首先清除渲染目标然后我再次绘制所有具有新属性的形状。
因为我知道我修改的矩形的位置和面积,有没有办法只清除和重新绘制已更新的区域,而不是重新绘制我拥有的所有数千个形状?
最佳答案
文档:
IDXGISwapChain1::Present1(
UINT SyncInterval,
UINT PresentFlags,
[in] const DXGI_PRESENT_PARAMETERS *pPresentParameters);
指出
An app can use Present1 to optimize presentation by specifying scroll and dirty rectangles.
有关修改后的矩形的信息是通过 *pPresentParameters 参数提供的。详情见:
关于directx - 使用 Direct2D 更新部分屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31450790/