在DirectX7 sdk的switcher例子里面,演示了如何在全屏和窗口状态下的切。
里面有这样一段:
// If we are in windowed mode, perform a blt.
if (g_bWindowed)
{
hRet = g_pDDSPrimary->Blt(&g_rcScreen, g_pDDSBack,
&g_rcViewport, DDBLT_WAIT,
NULL);
}
else
{
// Else we are in fullscreen mode, so perform a flip.
hRet = g_pDDSPrimary->Flip( NULL, 0L );
}
由于在窗体模式下是用Blt复制到主表面的,所以在窗体模式下运行得很慢,而在全屏模式下用的Flip在主表面和缓冲之间切换,效率就很高了。
我想问在窗体模式下有更好的解决方法吗?