好吧,我发现消息循环的奇怪点。
首先,将这段代码锁定在下面
MSG msg = {0};
while( WM_QUIT != msg.message )
{
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
Render(); // Do some rendering
}
}
这是directx的教程,这部分是消息循环的一部分。
如果我单击鼠标,它将作为消息进入队列。
所以像这样的输入应该是win api的proc函数中的处理。
现在 peekMessage 返回 true,当我单击时,将不会在框架中调用 render()。
我认为当我单击时将代码更改为 if~else 为 if~if 以进行渲染。
你能解释一下吗?