安卓VNC是如何工作的?

4

你能告诉我Droid VNC是如何工作的吗?我完全不理解。 - Ando Masahashi
2个回答

3
它有三种模式来尝试读取您的屏幕:
  1. Framebuffer
  2. SurfaceFlinger
  3. Gralloc
我只在Android x86上尝试过它,只有framebuffer模式可用。据说如果您使用ARM处理器,则第2种和第3种模式效果更佳。基本上,它直接读取帧缓冲设备(/dev/graphics/fb0,就像在Linux上一样)。通过“读取”,我是指它获取屏幕的一系列“快照”,并在VNC客户端请求屏幕更新时将它们发送到该客户端。framebuffer设备位于Android编写其屏幕内容的位置,然后依次通过图形管道传递到硬件(图形显示芯片->屏幕)。将framebuffer视为视频中的一帧,一系列帧组成视频,帧缓冲区表示屏幕实际动态变化的内容。
关于输入方面,Droid VNC服务器通过网络接收指针和按键事件,并对它们进行处理,然后将它们发送到/dev/input设备,而Android会将它们处理为本地键盘或鼠标输入。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接