我已经用C++编写了3D立体OpenGL程序。我跟踪显示器中的位置对象应该在timeBeginPeriod(1)之后使用timeGetTime。当我使用“开始调试”运行程序时,我的对象在显示器上平滑移动(因为它们应该)。当我通过“无需调试就开始”运行程序时,对象会暂时冻结几次屏幕刷新,然后跳转到新的位置。任何想法可能会导致这个问题,以及如何解决它?什么可能导致OpenGL在“开始调试”与“无需开始调试”选项下表现不同?
编辑:当我点击鼠标按钮时,如果运行“无需调试即可开始”运行,似乎可以在很短的延迟后解决这个问题。我的应用程序是一个控制台应用程序(当程序第一次启动时,我接受了一些参数)。这两个选项之间的窗口焦点可能有区别吗?有没有一种明确的方法来强制焦点到OpenGL窗口(通过glutFullScreen();全屏幕)当我完成从控制台窗口输入?
谢谢。
您的发布版本的性能如何?您的整体CPU使用率如何? – 2009-11-25 19:51:04
因为我几乎完全在开发环境中工作,并且CPU使用率不应该成为我渲染的简单显示器的问题,所以我从来没有构建过发布版本。我最近尝试这样做是因为我一直使用的屏幕截图库阻止了正确链接。运行该过程的核心CPU利用率很高,但很少与其挂钩。 – russellpierce 2009-12-18 20:26:28