博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ANDROID游戏开发二十六】追加简述SURFACEVIEW 与 GLSURFACEVIEW效率!
阅读量:6820 次
发布时间:2019-06-26

本文共 1229 字,大约阅读时间需要 4 分钟。

本站文章均为 
 原创,转载务必在明显处注明: 

转载自【黑米GameDev街区】 原文链接: 

今天在这里大概说下现在为什么游戏引擎都趋向与openGL进行的,这里大概说下;

当今基本所有的国外游戏都是质量很好,不管是从视觉上还是操作还是流畅度上,那么今天我们关注的是其流畅度;

首先有经验的游戏开发者,尤其是一直做2D游戏开发的童鞋门,从J2me到Android,很多做Android的都是从J2me过来的,那么对于J2me-3D开发的基本很少,原因不多说,对于Kjava的机器我也没什么再喷的,反正我是受够折磨了;

很多开发者对外国的游戏狠感慨,为什么他们做的游戏都是那么流畅,不丢帧,其实狠明确的跟大家说,他们大部分游戏都是基于openGL进行的开发,不管是3D还是2D;下面详细说下原因:

对于刚接触Android游戏开发的来说,首先印在心理的就是利用SurfaceView画布进行游戏开发(除3D游戏外),那么开发过程中,越来越多的开发者都开始对Android的运行内存产生怀疑(Android运行内存相对于Kjava的机器那可是大了很多),因为都开始又再次关注内存的使用;动不动就卡,就OOM,我去~狠经典的Error~

一般2D游戏开发使用SurfaceView足够,因为它也是google专们扩展用于2D游戏开发的画布;但是很早前我做过测试:

使用普通的游戏画布(Android中2D专用游戏画布)中进行绘制图片,然后在GLSurfaceView(Android中3D游戏专用画布)中渲染图片的对比中发现GLSurfaceView的效率高于SurfaceView的30倍~呵呵,高了30倍的效率~这是什么概念,可想而知;GLSurfaceView的效率主要是因为机器硬件的GPU加速,现在flash技术也有了GPU加速技术;

下面总结一下:

一般2D游戏使用SurfaceView足够,毕竟我之前公司做的网游就是用SurfaceView做的,狠流畅,所以不要认为什么都要使用GLSurfaceView(openGL),而且   GLSurfaceView的弊端在于适配能力差,因为很多机型中是没有GPU加速的;关于GPU童鞋门不知道的自己百度,这里不多说了;

不管是做什么游戏,对于开发者而言,流畅是最重要的;再好的游戏几帧左右,谁都哭;

不管使用SurfaceView还是GLSurfaceView,只要内存优化做的好,都基本无差(排除2D\3D游戏差异);希望不管当前你是否看了此文章想将当前的项目换个GLSurfaceView框架还是如何如何,我都希望你静下心来,好好的优化你的内存先,不要总把问题推到SDK和硬件上,毕竟google提供了那就肯定不会那么不效率的,否则人家也不会闲着没事给你整那么多事情来;

对于初学者千万不要顾虑这些,对你来说,游戏的思想是最重要的,多做项目才是王道,否则给再给你个地球,你都认为它2012年也会爆炸,你懂的~

你可能感兴趣的文章
Git忽略规则.gitignore梳理
查看>>
实现可克隆(Cloneable)的类型
查看>>
JVM学习笔记(二)------Java代码编译和执行的整个过程【转】
查看>>
应届大学毕业生面试应答
查看>>
在指定文本里记录内容
查看>>
iOS: iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)
查看>>
Html5,css3菜单
查看>>
JSP的两种导入方式
查看>>
c# 钩子屏蔽鼠标右键
查看>>
在创建带输出参数和返回值的存储过程时---犯下的一个低级错误
查看>>
在Oracle中查询存储过程和函数
查看>>
Design Pattern: Not Just Mixin Pattern
查看>>
Ubuntu 虚拟机安装几点细节整理
查看>>
深入浏览器兼容 细数jQuery Hooks 属性篇
查看>>
[LeetCode] Unique Word Abbreviation 独特的单词缩写
查看>>
DNN使用升级包升级
查看>>
Asp.net读取AD域信息的方法<转>
查看>>
IntelliJ IDEA中JAVA连接MYSQL
查看>>
nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
查看>>
OpenGL入门笔记(十五)
查看>>