我使用两个使用OpenGL的应用程序使用GQLWidget对此进行了验证。如果screenupdates非常频繁,比如说30 fps,和/或分辨率高,则其中一个核心的CPU使用率会上升。我正在寻找一个解决方案,如何解决这个问题和/或验证它是否也发生在Windows上。使用OpenGL时Qt CPU使用率
0
A
回答
6
以我的经验QGLWidget来绘图本身是围绕GL和你的窗口系统非常有效的瘦包装;如果使用它的CPU使用率很高,很可能使用任何其他实现OpenGL应用程序的方法都会占用较高的CPU使用量。
如果您使用OpenGL有CPU使用率过高,很可能是两种:
- 你退回到一个软件OpenGL实现(即台面); 例如,如果您没有安装任何图形设备驱动程序,Debian会这样做。
- 您正在使用旧式即时模式OpenGL:glBegin,... vertices ...,glEnd。改为进入维也纳组织。
你提到的显示分辨率为因素而提出的前一个问题的事实。
1
你需要得到任何探查,分析代码,看看瓶颈。由于你的程序吃了CPU资源(而不是GPU),这应该相当容易。 据我所知,“AQTime 7 Standard”(windows)目前免费提供。或者你可以使用gprof - 取决于你的工具包/平台。
一个非常可能的情况(除了软件的OpenGL后备)是使用动态内存分配过于频繁或运行调试版本。如果每帧有100000多个多边形,立即模式可能会成为问题。
0
我已经看到了在尽量减少主机CPU使用率可怕的几个GL实现。似乎有很多情况下CPU会在GPU等待时等待。通常只需在卡片设置中启用垂直同步就会使应用程序吸取的次数减少,而且仍占用同样多的CPU。 不幸的是,除了限制应用程序的绘制频率之外,您自己几乎无法做这件事。
相关问题
- 1. 如何获得Qt的CPU使用率
- 2. CPU使用率( “”)
- 3. Websphere CPU使用率
- 4. CentOS CPU使用率
- 5. 使用OpenGL和Qt
- 6. CPU使用率高,串口时间
- 7. Java - 高CPU使用率
- 8. 高mySQL cpu使用率
- 9. wordpress 4.8高CPU使用率
- 10. CPU使用率不同?
- 11. CPU使用率和Object.wait
- 12. JBoss CPU使用率问题
- 13. javaw.exe CPU使用率高
- 14. Android - 内存/ CPU使用率
- 15. C++,CPU使用率过高
- 16. CPU使用率达到100%
- 17. CPU使用率峰值6.1
- 18. JavaScript累计CPU使用率
- 19. Tomcat 100%CPU使用率
- 20. 最大CPU使用率
- 21. VMWare ESX/ESXi CPU使用率
- 22. 计算总CPU使用率
- 23. 壁画ControllerBuilder CPU使用率
- 24. Z3低cpu使用率
- 25. Android。 CPU使用率太高
- 26. wordpress中CPU使用率高
- 27. CPU使用率问题
- 28. Tesseract CPU使用率100%
- 29. Android Socket高CPU使用率
- 30. Scrapy高CPU使用率
什么样的显卡你有多少FPS你获得在其默认的窗口大小运行“glxgears测试”? – timday 2012-04-07 22:58:25