背景介绍:
在android多屏互动开发中遇到需要将一部分绘图信息显示在手机上,另一部分信息显示在HDMI上,同时两个屏幕间可以有一些基本的动画互动,与Windows中多显的效果一样,在拖动过程中,一部分信息显示在显示器1中,另一部分信息显示在显示器2中。需要这功能在当前的Android系统中是不支持的,这时则需要采用双EGLSurface的方案。实现:
通过这种方式就能实现在两屏中进行动画的互动,也就是在在Surface0绘图的时候,首先将两屏的数据全部绘制到fbo中,然后将一半的纹理显示在Surface0中,另一半的纹理显示在Surface1中,能够简单的实现动画操作,同时也不会存在同步的问题。
优缺点:
1. 通过这种双EGLSurface的方案,这样能够完美实现动画操作,但是由于一帧要绘制两屏数据,这会导致显示性能问题。2. 绘图中每帧需要两次的makeCurrent,同时还需要分别设置不同的窗口视口等信息,这会影响系统的绘制性能。