Himi 原创, 转载请注明! 谢谢。
原文地址:http://blog.csdn.net/xiaominghimi/article/details/6665952
今天在这里大概说下现在为什么游戏引擎都趋向与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年也会爆炸,你懂的~
分享到:
相关推荐
在Android平台上进行游戏开发,SurfaceView是一个至关重要的组件,它为高效、低延迟的图形绘制提供了可能,尤其适合用于创建动态、高性能的游戏画面。本文将深入探讨如何利用SurfaceView进行游戏开发,以及与之相关...
在Android平台上开发游戏时,SurfaceView是一个至关重要的组件,它为高效、低延迟的图形渲染提供了可能。SurfaceView是Android系统提供的一种特殊视图,它有自己的独立绘制表面,与主线程分离,使得游戏或者视频这类...
在Android开发中,`SurfaceView`是一个特殊类型的`View`,它允许开发者在应用程序中创建一个独立于应用程序主线程的渲染表面。`SurfaceView`通常用于处理高性能的图形或者视频播放,因为它可以在单独的线程中进行...
2.Android游戏开发之旅二 View和SurfaceView 3.Android游戏开发之旅三 View类详解 4.Android游戏开发之旅四 Canvas和Paint实例 5.Android游戏开发之旅五 Path和Typeface 6.Android游戏开发之旅六 自定义View 7....
#### 一、SurfaceView与游戏开发 在Android平台上开发游戏时,SurfaceView是一个非常重要的组件。它提供了低延迟的显示功能,并且支持双缓冲机制,这对于实时渲染图像非常关键。相比于传统的View组件,SurfaceView...
例如,Android的SurfaceView或GLSurfaceView被广泛用于创建游戏画面,它们允许开发者在主线程之外进行高性能的图形渲染。 在"9781430230427(1)"这个文件中,可能包含的是一个或多个实际的游戏项目,这些项目可以...
在Android开发中,`SurfaceView`是一个非常重要的视图组件,尤其在处理视频播放、游戏渲染等高性能图形操作时,它的优势在于拥有独立于主线程的渲染机制,能避免阻塞UI更新。然而,由于其特殊的性质,直接通过常规...
在Android开发中,SurfaceView是一种特殊的视图,它允许开发者创建高性能的图形界面,尤其适合处理视频播放或游戏等需要连续刷新的场景。本话题主要探讨如何利用SurfaceView实现图片的缩放和滑动功能。 首先,理解...
在Android开发中,有时我们可能需要创建一个独特的用户体验,比如设计一个圆形的相机预览窗口。这个场景就涉及到了Android的SurfaceView以及如何定制它的显示效果。本文将深入探讨如何实现一个圆形的相机预览窗口。 ...
在Android游戏开发中,将一个`Button`控件悬浮于`SurfaceView`之上是一项常见的需求。这通常是为了解决在游戏界面中添加交互元素,如暂停、设置或返回按钮,以便用户可以随时进行操作。本篇文章将深入探讨如何实现这...
在Android平台上构建游戏框架时,开发者常常会遇到两种主要的视图组件——View和SurfaceView。它们虽然都属于Android视图系统的一部分,但在处理高性能、低延迟的图形渲染时,两者有着显著的区别。 首先,我们要...
在Android中,我们可以使用SurfaceView或者GLSurfaceView来实现游戏画面。SurfaceView提供了一种低延迟的绘图方式,适合游戏开发。在SurfaceHolder.Callback接口的回调方法中实现游戏循环。 六、项目结构分析 ...
在Android开发中,实时显示摄像头视频是一个常见的需求,如创建相机应用、视频聊天或游戏等。`SurfaceView`是Android提供的一种用于高效显示多媒体数据的视图组件,尤其适合处理像视频流这样的实时数据。本篇文章将...
在Android应用开发中,屏幕适配是一个至关重要的环节,尤其对于拥有众多不同尺寸和分辨率设备的Android生态系统来说。本篇文章将深入探讨`SurfaceView`与`layout`在屏幕适配中的应用及其策略。 首先,`SurfaceView`...
在Android平台上开发游戏时,`SurfaceView`是一个非常重要的组件,它是专为高性能绘图设计的,常用于创建动画或游戏。本篇文章将深入探讨如何使用`SurfaceView`来编写一款简单的小游戏。 首先,我们需要了解`...
《Android核心技术与实例详解—Android游戏开发实践—快乐数独》是针对Android平台游戏开发的一份深入学习资源,其中包含了完整的源代码,旨在帮助开发者掌握Android游戏开发的关键技术和实践经验。这篇博文通过...
在Android原生开发中,创建游戏是一个挑战但充满乐趣的过程。以下6个游戏项目提供了丰富的学习资源,涵盖了从基础到进阶的Android游戏开发技术: 1. **Android 美女拼图游戏**:这是一个典型的图像处理和逻辑编程的...
在Android游戏开发中,View框架扮演着至关重要的角色。它为开发者提供了构建用户界面和交互的核心工具,而在游戏开发中,这些工具被巧妙地利用来创建动态、丰富的游戏体验。本文将深入探讨Android游戏开发中View框架...
在《Android游戏开发实战宝典》中,作者可能会详细介绍Android的游戏架构,包括如何使用SurfaceView或GLSurfaceView来创建高性能的游戏画面,以及如何利用线程管理和多任务处理来实现流畅的游戏体验。此外,还会涉及...
在Android平台上,开发一款基于SurfaceView的小游戏是一个有趣且具有挑战性的任务。SurfaceView是Android系统提供的一种特殊视图,它允许开发者创建高性能、低延迟的图形界面,非常适合用于游戏和视频播放等需要连续...