我是想问影像处理的 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 的延迟阿...
我实在不解....
不知道有没有专业人士能为我点解一下,感谢。