繁体   English   中英

Android View vs SurfaceView vs GLSurfaceView 用于具有可缩放用户界面的 2D 绘图应用程序

[英]Android View vs SurfaceView vs GLSurfaceView for 2D drawing app with Zoomable User Interface

我计划编写一个带有可缩放用户界面的 2D 绘图应用程序。 使用该应用程序,用户应该能够转换(平移和缩放)绘制的路径(当然还有 UI)。 我假设同时会有多达 500 条路径。 现在,我想知道从哪个视图开始(View、SurfaceView 或 GLSurfaceView)以提供可接受的性能。 我读了几篇文章 [1-6],包括曾经的 android 开发者指南,但仍然不能 100% 确定要使用哪个视图。

根据 Google I/O 2009 上的介绍 ( http://youtu.be/U4Bk5rmIpic?t=45m10s ) 和自己的体验画布(View 和 SurfaceView)在处理 100 多个路径时似乎表现得不够快。

有没有人看到使用画布实现应用程序的可能性,或者 OpenGL 是要走的路吗?

[1] Android:SurfaceView 和 OpenGL (GLSurfaceView) 之间的抉择

[2] SurfaceView 还是 GLSurfaceview?

[3] SurfaceView和View的区别?

[4] http://pierrchen.blogspot.jp/2014/03/anroid-graphics-surfaceview-all-you.html

[5] SurfaceView 和 ImageView 的区别

[6] Android中SurfaceView和GLSurfaceView的区别

由于您的性能问题,您将需要使用硬件渲染。 显示器越来越密集,因此触摸软件中的每个像素变得越来越慢。

如果要使用 Canvas 进行绘制,则必须渲染到自定义视图,并启用硬件加速 Surface 上的画布渲染始终由软件完成。

SurfaceView 和 GLSurfaceView 几乎是一回事; GLSurfaceView 只是有一些帮助函数,可以为您处理一些内务。 您可以使用 GLES 在 SurfaceView 和 TextureView 上进行渲染。 Grafika 中有很多这样的例子

如果您想知道幕后发生了什么,请参阅 系统级图形架构文档。

您可能需要考虑使用开源 2D 游戏引擎。 这将处理 EGL 设置,应该提供用于 GLES 字体渲染的代码,等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM