看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Visual Studio 2019 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenGL 問題(Question): 1. 餵入兩張圖片 使畫面配合顯示器輸出頻率交換但不知為何約 100 frame左右 會掉 1frame,但程式依然執行想問是我哪裡有問題,導致他沒有辦法穩定? 2. 根據我的理解對framebuffer object進行紋理依附,因為我想先把圖塞到GPU 的記憶體中,我猜想這樣會讓兩張圖片交換速度更快更順暢,而且看顯示卡 記憶體有被我占用 但我還是不確定我是否是圖從CPU送出還是GPU先存好才 交換 請問有方向或者方法讓我進一步確認嗎? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) https://hackmd.io/@kkbox36930/H1ff2BZxF 補充說明(Supplement): 對這個opengl有點生手 感謝大家的幫忙 程式碼放在markdown中 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.126.66 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1628688011.A.23E.html
Schottky: 最近比較忙,星期日再來看 08/12 05:49
Schottky: 你的螢幕更新頻率是 60Hz 還是 120Hz? 08/12 05:50
60Hz/75Hz 都有 倍數或者減半我都試過 都會
pponywong: 可能跟你的程式沒關係 你要查一下glut跟window display 08/12 08:43
pponywong: 不知道glut跟windows vsync怎麼配合的 08/12 08:45
pponywong: 另外是不是用GPU還是PC記憶體 要看driver怎麼寫 08/12 08:46
pponywong: 電腦獨顯你用texture還是framebuffer都是用GPU memory 08/12 08:47
我想全部確認放在 GPU獨立記憶體中 我怕放在GPU共用記憶體 本質上還是CPU的主記憶體 不知道會不會有影響
Killercat: 不是很確定 但是看看是不是Triple Buffer搞的鬼 08/12 13:32
Killercat: https://tinyurl.com/y5a24bar 關閉試試看 預設是開的 08/12 15:36
這個我也考慮過是不是三重frame buffer 我覺得比較像是每frame輸出指定出去到顯卡再 到螢幕真的刷新 有微妙的時間差 導致幾秒後有時間不匹配的問題 苦手 ※ 編輯: asdiii (36.230.126.66 臺灣), 08/12/2021 23:38:40
paintlife08: 會不會是 glutTimerFunc()那一行? 它吃unsigned int. 08/13 10:27
paintlife08: 16.67 會變成 16. 08/13 10:29
paintlife08: 查了一下,glutTimerFunc()好像也不保證一定會在設定 08/13 10:54
paintlife08: 的值更新. 08/13 10:55