VC mirror driver源码
mirror driver应用程的原理。 使用mirror driver加快屏幕数据获得速度。 一个mirror driver的hello world例子。 教程: http://blog.csdn.net/qwer430401/article/details/53047022
mirror driver应用程的原理。 使用mirror driver加快屏幕数据获得速度。 一个mirror driver的hello world例子。 教程: http://blog.csdn.net/qwer430401/article/details/53047022
更新: 2016年8月3日 1.可以进行4、8、16位色图选择。 2.添加了鼠标键盘。可以进行远程协助。 3.进行一些优化。在局域下完全流畅。
VB在屏幕处理中压力很大,截屏如果不进行处理一盘为32位 1024x768 分辨率屏幕图一般为1024*768*4=3145728Byte(约3.1M),如果每秒30帧<流畅>下约93M,每一分钟为5580M(5.5G),如果再不对其压缩的话将产生巨大的cpu使用率及网络流量。 优化: 1.使用指针快速逐行对比0 2.将位图转化成8位。 速度上明显提高。
首先分割屏幕为6~8行(隔行有很多种),建立2个位图内存,在一行屏幕中为例的话,先将截屏1行位图放入1位图内存中,再截屏相对1行位图放入2位图内存中进行对比扫描不同处。扫描出来后进入zlib压缩(zlib.dll官方有下载),再发送。 这样一来屏幕被分为6~8行,以16位 1024x768 分辨率屏幕图为例,那就是(1.5M/8=192K),由于对不同点扫描,再用zlib压缩,一般情况下可能1K都不到了。 与上面普通方式对比将高了100多倍,网络及cpu大大降低。 这里是VB GDI版取屏的一个模板了,取屏基本上就是这个原理了。 下一步可以汇编算法驱动级优化了,努力打造VB版顶级远屏。
VB远程屏幕逐行扫描性能版示例,取消了zlib,在VB中速度很不耐,从WinXP~Win10可运行,性能综合算是不错了,与(DGScreenSpy玩过的朋友)已经超出发它,DGScreenSpy写的不错,Microsoft产品的性能很强的。这个代码让新手们能体会到屏幕传递的基本逻辑了。优化一下在好的编程软件上能制作出高端产品工程了。
能读写VB2G以上的数据文件,能读写XP.gho超大的镜像文件。感觉上一个示例代码比较难以理解,所以在同样原理上精简了一下,比较易懂。
在程序中,进行屏幕逐行扫描。但是屏幕在没有变化下或其它区域没有变化下扫描的话,不且浪费网络资源,还增加CPU使用率。 下在讲述一下对比没有变化屏幕及增加频率。
在上期VB远程屏幕逐行扫描算法中,讲述了VB远程屏幕逐行扫描的原理。在其中有一个明显现象,就是锯齿。 此文件解决VB逐行扫描锯齿。