关于直接读取显存,和显存相关的一些问题
最近想直接读取显卡生成显示在桌面上的图像。
有几个疑惑,渴求解疑。
1:使用directx来读取frontbuffer可以吗,如果方向走错了,怎么样能达到要求,因为使用bitblt读取屏幕数据的话,会有一个显存到内存的传输过程,这样效率会不高,还会导致其他一些问题。
2:显存是用来存储处理过后和处理之前的数据的,我可不可以认为最终显示在屏幕上的一帧数据,在显示前的那一刻是在显存中的。 如果是一个R8B8G8A8格式的数据。1920×1080分辨率。 岂不是要 1920*1080*4/1024/1024 = 7.9G 的显存,这样现在的显卡完全达不到。 还是说显存里面只存储了部分屏幕的数据,然后不停的处理,输出到显示器上。如果是这样的话,那么某一刻的话 ,我就没法完全获取桌面上的数据了吗?
thanks a lot,in advance. :)
[解决办法]
1920*1080*4/1024/1024 = 7.9M,谢谢。
[解决办法]