我是想問影像處理的 double buffer, triple buffer
但好像只有這邊比較接近專業影像技術,就po來這邊了。
https://goo.gl/Pc8U8L
我是看了上面介紹,關於垂直同步(vsync),影像撕裂,多重緩存(multi buffer)
讓一個初學者受益良多。但有些問題又衍伸出來,讓我苦思不透,希望能有版友指點
: )
1 為何他說 triple buffer 可以讓滑鼠移動畫面提早,不會像 vsync 一樣延遲感很重?
double buffer + vsync 要等顯示器讀完前buffer,顯卡才能繼續產生有滑鼠移動的
畫面資料到後buffer。
這樣等待的時間,不就是顯示器讀的瓶頸而已? 你用 triple buffer 的情況一樣阿!
2 為何其他部落格介紹說 triple buffer 會造成的延遲感會再比 dobule buffer 更多
點?
double:
buffer1
GPU 顯示器
buffer2
假設 buffer1和buffer2只能塞一個 frame 的大小
GPU 可能第一步先往 buffer1 送,顯示器等待一個 frame 的時間(延遲1frame)
第二步顯示器才從 buffer1讀。同時,GPU再往 buffer2送。這樣總共一個延遲
的frame
triple: buffer1
GPU buffer2 顯示器
buffer3
一樣等待 buffer1 先滿,顯示器再讀,此時GPU往buffer2送,顯示器讀完,讀
buffer2,此時GPU再往buffer3送,這樣還是只有差一個 frame 的延遲阿...
我實在不解....
不知道有沒有專業人士能為我點解一下,感謝。