1
我正在使用OpenGL進行一些GPGPU處理。所以我有不同的線程給OpenGL處理線程提供工作。工作而不是等待glMapBuffer
在每個「工作項目」之後,我需要調用glReadPixels和glMapBuffer以便將數據從PBO傳回主機。然而,這個問題是,glMapBuffer會阻塞線程,並且直到DMA傳輸完成時才能完成有用的工作,即使GPU處於空閒狀態。解決這個問題的常用方法是創建一個具有最長DMA傳輸時間深度的流水線。但是,由於我正在研究低延遲系統,因此這是不理想的。
有沒有一種辦法,也許等待glMapBuffer一個單獨的線程或可能得到一些通知,當DMA傳輸,以儘可能多的減少延遲儘可能完成什麼?