Ric*_*ich 19 android opengl-es
有没有办法在规划阶段根据游戏/应用程序的预期复杂性预先决定是否在SurfaceView中使用常规Canvas绘图或使用OpenGL?
我一直在玩Canvas并且只需要2D移动,而在一部相当新的手机上,我得到了相当不错的性能,其中有一堆原始对象和一些在固定背景屏幕上运行的位图.
可以公平地说,如果我要绘制背景图像并增加移动和绘制对象的数量,我应该直接使用OpenGL吗?
Wro*_*lai 29
我只能说,这取决于你将使用多少精灵.Google的Chris Pruett也很好地记录了这一部分.
Google I/O 2009和Google I/O 2010.
下面是他的一张幻灯片中与您的主题相关的图片:
有了这些知识,你应该使用draw_texture
扩展来使用OpenGL .请记住查询字符串并检查draw_texture
实际设备是否支持.
有关与游戏开发相关的更多信息,请参阅此内容.
Vip*_*hit 10
SurfaceView
GLSurfaceView是一个可以使用OpenGL渲染的SurfaceView.在它们之间进行选择很简单:
如果您熟悉OpenGL并需要它提供的内容,请使用GLSurfaceView.否则,请使用SurfaceView.OpenGL是低级的.如果你还不熟悉它,那就是学习的一项任务.如果您只需要2D绘图,SurfaceView将使用高级,合理的高性能Canvas.它很容易使用.
除非您有充分理由使用GLSurfaceView,否则应使用常规SurfaceView.我建议如果你还不知道你需要GL,那么你可能不会.
OpenGL的
OpenGL可以轻松处理旋转和缩放.
老实说,你可能需要学习很多OpenGL才能做到这一点,特别是与以下主题有关:
几何照明(或者只是禁用它)拾取(选择要在其上绘制的几何体)像素映射纹理映射Mipmapping另外,为此学习OpenGL可能有点过分,你必须非常擅长它才能使其高效.
相反,我建议使用构建在openGL之上的游戏库的图形组件,例如:
资源
Android中SurfaceView和GLSurfaceView的区别
归档时间: |
|
查看次数: |
14460 次 |
最近记录: |