我是Android应用开发新手,所以向高手们请教关于画图的问题。
也欢迎跟我一样的新手进来讨论。
在屏幕上面画上万根线,然后可以扩大和缩小。
现在实验的结果是用
JNI+Canvas+View的方法去画100w根线,需要2秒左右。
问题1:
在网上看到游戏开发过程中,基本上都是用SurfaceView来实现的,
我知道SurfaceView是另外开一个线程去进行绘图,UI响应会更好一点,
所以想问,我这个应用的实现,用SurfaceView实现会更好吗?
从实验的效果来看
JNI+Canvas+SurfaceView的方法去画100w根线,也需要2秒左右。
问题2
同样是这100w根线,
我用JNI+OpenGL的方式去实现,绘图大概只花了1秒左右。
所以想问,对于2D图形来说,JNI+OpenGL来实现是不是比Canvas更好?
问题3
另外OpenGL也可以画2D图形,而且比Canvas更有效率的话,为什么还需要
Canvas啊?(可能问题有点傻,还请谅解,呵呵)
问题4
其实NDK+OpenGL的方式去画的话,效率更加高,难点是代码会变得非常复杂,
高手们有什么看法啊?
在这里谢谢大家了。