gpt4 book ai didi

windows - 3D 应用程序中鼠标输入的帧率不均匀

转载 作者:可可西里 更新时间:2023-11-01 10:40:53 27 4
gpt4 key购买 nike

我正在使用 OpenGL 为 Windows 编写 3D 应用程序。现在它渲染一个简单的测试场景,其中一个模型包含大约 50000 个多边形,并且以 60FPS 的速度平滑渲染。

但是,每当鼠标在应用程序窗口上移动时,帧速率会变得非常不均匀。它从 400 FPS 随机波动到 20 FPS。这有什么理由吗?这是由应用程序被迫处理的鼠标事件引起的吗?我可以禁用它们并只轮询鼠标状态吗?

我的应用程序循环非常简单,大致类似于:

if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if (msg.message==WM_QUIT)
{
quit();
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
else
{
draw();
Sleep(1);
}

窗口过程基本上是

return DefWindowProc(hWnd,uMsg,wParam,lParam);

最佳答案

除了鼠标移动消息外,在窗口上移动会生成 WM_SETCURSOR 消息。您可以尝试丢弃这些消息和 WM_MOUSEMOVE 消息以查看应用程序是否加速。要丢弃,返回 1 而不是调用 DefWindowProc。

没有办法关闭鼠标消息,但扔掉它们应该很快。您可以使用 GetCursorPos轮询鼠标坐标。

关于windows - 3D 应用程序中鼠标输入的帧率不均匀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/707247/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com