基本信息
更多>>
产品展示
| 产品名称: | 6ES5777-0BC00 |
| 浏览量: | ![]() |
| 价格: | 66 |
| 供货总量: | 55 |
| 规格: | 6ES5777-0BC00 |
| 更新日期: | 2018年12月24日,有效期:360天 |
| 关键字: | 6ES57770BC00 6ES57770BC00 6ES57770BC00 |
| 联系人: | ![]() |
| 联系电话: | ![]() |
| 即时通讯: | ![]() |
详情信息
6ES5777-0BC00 (1)假设其中一个成员矩形为arri,如果arri的长宽都小于32×32,则直接作为需重新发送的变化区域,保存到vnc_rgn中,否则对arri进行分析检测。
(2)首先定义一个新的矩形arrj(arri.left,0,arri.right,0),在arri中找到发生变化的行,记录该行的y坐标,记arrj=y,同时y+=16递增找到未发生变化行,暂时记arrj.bottom=y;然后从arrj底部y-=1进行比较,寻找内容发生变化的行,找到后将此行的y坐标设置成arrj.bottom=y。至此确定了变化矩形arrj的 终、bottom坐标。同时将arri的值设为arri(arri.left,arrj.bottom,arri.right,arri.bottom)。在对arrj分析完毕后接着对arri遍历分析直至结束。
(3)确定矩形arrj后,对矩形arrj进行分析。首先定义一个矩形arrn(0,0,0,0),在arrj中寻找 发生改变的列,找到后记录发生变化的区域的left坐标,arrn.left=x,arrn=y,分别对x、y轴方向循环遍历进行分析(记为x+=32,y+=32),如果此列屏幕像素数据改变,则x+=32继续比较;否则将记录arrn.right=x,对y轴方向进行同样的比较,y+=32,并记录arrn.bottom=y, 终得到需要发送的变化区域矩形坐标,并将此矩形保存到 终发送的矩形链表中,同时记录下arrk(arrn.right,arrn,arrj.right,arrn.bottom)、arrm(arrn.left,arrn.bottom,arrj.right,arrj.bottom),分别将arrk、arrm赋值给arrj进行类似分析检测,依次循环遍历整个arrj,直到结束。
通过此屏幕变化区域检测算法,对整个array_list链表的成员矩形进行遍历后得到需要重新发送的变化区域坐标信息。
6ES5777-0BC00
为了验证调用屏幕变化区域检测算法前后,VNCServer端对同一操作生成的数据量的变化,实验在100 M的局域网内进行,VNC Server采用的是VNC默认的TIght编码[5],编码后经过zlib压缩[5]后发送给中转服务器,主要进行以下场景的测试:(1)打开一个Word文档,剪切、复制、粘贴一段文字,图片保存到Word,在Word中输入一些内容;
(2)打开IE浏览器登录主页;
(3)打开一个PDF文档后,拖动滚动条至底部;
(4)打开资源管理器,在屏幕上做拖动操作,之后将其 大化。
调用检测算法前后VNC Server发送数据量如图3所示。通过对比可以看到,在调用屏幕区域变化检测算法前后,VNC Server端发送的数据量都会有一定程度的下降。当执行相同的Word操作时,VNC Server端发送的数据量降低了12.21%,登录新浪网主页的过程中数据发送量只降低了4.82%,打开PDF文档并拖动滚动条至 端的过程中,发送的数据总量降低了14.63%,在资源管理器的缩放过程中,数据发送量下降了22.19%。


