日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

英特尔核显运行opengl时的帧数过高或过低问题,opengl帧数问题

發布時間:2024/1/1 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 英特尔核显运行opengl时的帧数过高或过低问题,opengl帧数问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我相信不止我一個人在學習OpenGL時遇到了這些問題,國內外的相關資料或解決方法很難找,也僅在glfw論壇里找到了幾個提出這個問題的人,并摸索到了莫名其妙的解決方法,具體原因也沒弄清楚。
這里也希望如果有遇到相同問題的人,也能搜索到我寫的這些東西來暫時解決這個問題和它帶來的煩惱。

下面就是幀數的問題:
1.opengl的代碼在英特爾核心顯卡上運行時幀數超高,會超過1000fps甚至達到2000fps,核顯GPU負載直接達到100%
這個問題具體的原因暫時不清楚,但有說法是英特爾核顯在運行時沒有幀數限制,能跑多快就跑多快,從而產生這個問題。
解決的方法是在主函數進入循環之前加入glfwSwapInterval(1),這個代碼能啟動opengl的垂直同步功能。但在英偉達GPU上加入這行代碼反而會引起畫面撕裂的問題,具體原因不清楚,但英偉達GPU在運行OpenGL代碼時本就自帶垂直同步功能,也就無視掉吧。
2.在加入glfwSwapInterval(1)之后,英特爾核顯運行OpenGL代碼時會出現渲染窗口幀數低于屏幕刷新率的現象,產生明顯的卡頓感,然而主循環每秒循環次數不受影響
這個問題的解決方法是在循環中加入glGetError()或glFinish(),窗口的幀數就會恢復到與屏幕刷新率同步恢復正常,順便一提啟動Fraps也會使窗口幀數恢復正常。具體的原因不知道,也許是軟件問題,也許是驅動問題,也許是硬件問題,也許是硬件廠商問題。但這已經超越了初學者的范疇,也暫時不打算討論了。

這是我在glfw論壇上提出的這個問題,回答者也在回復里貼上了其他與我相似的問題:
https://discourse.glfw.org/t/i-have-a-question-about-fps/1498/2
glfw論壇的老哥很好,懂點英語的朋友也以去那里學習學習。

再添加點關鍵字:英特爾核顯opengl,opengl幀數問題,相同opengl代碼在不同GPU上幀數不同,英特爾核顯運行opengl卡頓,英特爾核顯運行opengl幀數過高。
希望這點文字被更多的opengl初學者看到,并解決他們的問題和問題帶來的煩惱。

總結

以上是生活随笔為你收集整理的英特尔核显运行opengl时的帧数过高或过低问题,opengl帧数问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。