范文无忧网学习方法技巧常识

J2ME游戏开发的高级优化技巧是什么

01月27日 编辑 fanwen51.com

[公务员考试行测答题技巧有哪些]名词解释考查对基础知识的掌握能力,不同于论述和分析,无需长篇大论。根据测算,一般一个名词解释用时5~6分钟,篇幅150~200字最为合适。 简答题一般来说位于试题的第二部分,基本考...+阅读

为什么要优化? 游戏能够被划分为两种较广泛的类型:实时型和按键驱动型。按键驱动类型的游戏一般在屏幕上显示游戏目前所处的状态,并且等待玩家输入某些按键来驱动游戏继续运行。棋牌类游戏,大部分的解谜类游戏以及策略类和文字类游戏都属于这类游戏。而实时游戏,特别是动作游戏不会等待玩家的输入,他们一直运行直到游戏的结束。

动作类游戏一个重要的特征就是将大量的运算花在屏幕显示上,而且刷新率(FPS)必须保持在10以上。这类游戏还必须要有大量的动作来使得游戏具有更高的挑战性。这类游戏需要玩家有快速的反应和很好的手眼协调能力,所以这类游戏对键盘输入的反应也有极高的要求。 为使得程序在高速运行时能对键盘做出及时的反应,图像能以高速的FPS来运行,我们就必须优化我们的代码,以使得我们的程序能以最快的速度运行。

J2ME是一个精简的Java版本,适合只有有限容量的小型设备,例如手机和PDA,J2ME设备有: ◆有限的输入能力 ◆屏幕尺寸很小 ◆受限的内存及堆大小 ◆很慢的CPU 这些特点使得在J2ME平台上编写快速的游戏并不是件易事。 相对于电脑游戏来说,编写J2ME平台上的游戏会对程序有更高的要求和更进一步的挑战。 何时不用优化? 如果你编写的游戏不时动作游戏,有可能不必去优化。

假如玩家需要几秒钟甚至几分钟去思考他下一步怎样走,那他将不会注意到你的游戏的按键响应超过几百毫秒。 不过一个例外是如果你的程序需要大量的运算去决定它下一步怎样走,例如棋类游戏需要在几百万种组合中去寻找。假如这样的话,你有可能想要优化你的代码以使得电脑仅需要几秒钟而不是几分钟去决定他下一步的动向。 即使你正在编写这类游戏,优化也是相当危险的。

这些技术将伴随着高昂的代价,他将使你的代码不易读。这就需要开发者自己去平衡。增大了JAR文件的大小来换取程序少量性能的提高是否是值得的。下面给出不要去优化的更多的理由。 ◆优化将很容易引入bug ◆有些优化技术将使得移植变得困难 ◆有可能你付出了巨大的努力却收效甚微 ◆统一的优化一般比较困难 我需要对最后一点做一些解释:由于优化的是一个不定的目标及平台,有些方法可能在Java平台上运行快一点,而有些可能在J2ME平台上运行快一点。

由于执行环境存在着巨大的差异,你的代码可能在模拟器上跑得很快,但是在真机上却很慢。反之也有可能。你对一种机型的优化可能会造成在另一种平台上性能的下降。 但这些并不代表我们没有了希望。你可以通过两种方法来进行优化,高级优化和低级优化。高级优化可以在任意的平台上来提高程序的性能,甚至全面的提高代码的质量。

而低级优化则是相对于某种特定机型的优化技术。高级优化即算法上的优化,低级优化即程序层面对于单个函数执行效率的优化。Michael Abrash, Quake的开发者之一,曾经写到:"the best optimizer is between your ears"。 (最好的优化者在你的两耳之间)。使用优良的算法所能提高的效率比在一个普通算法的程序上使用低级优化所能提高的效率要高得多。

我们将使用J2ME Wireless Toolkit的Profiler去剖析你的代码的运行效率,它也将帮助你更精确的测量出这些技术对于提高性能的有效性。 在哪里优化? 在动作类游戏中,90%的程序执行时间被花费在了10%的代码段中。这10%的代码段是我们需要集中全力去优化的部分。我们将使用profiler去找到这10%代码的位置。照下图我们打开J2ME Wireless Toolkit的Profiler功能。

我们必须要在模拟器中运行程序并退出后才会弹出Profiler窗口 注意在左窗口中该函数所占用cpu百分比,这个百分比是总执行时间花在每个特定函数上的百分比,接下来我们只要找到占用百分比最多的那个函数来优化就可以了。 有几点需要注意的。 首先:你的百分比数和我的肯定有很大的不同,但是有一点是相同的即花费时间最长的函数所占的百分比数最大。

每次运行程序我的百分比数都会不同,为了尽可能的保持统一,我们在测试前应当关闭其他的程序。其次:测试时不要混淆,否则你将看到函数名类似于a,b,z。 。最后:Profiler并不知道你模拟的是什么机型。记住,真机才是真理。 如何优化? 知道了在那里优化,但如何进行优化呢?我们知道大部分的运算时间被花在了绘图函数上,J2ME已经为我们提供了这些函数,我们没有办法对这些函数的内部进行优化,但是我们仍然有选择权。

下面我们来对J2ME提供给我们的绘图函数作一测试。

延伸阅读:

银行考试行测有哪些答题技巧一、银行考试行测题量简介在银行招聘考试中,行测一直是考查重点,话不多说,直接上图:2014年工商银行、农业商业银行秋招考试行测题比例表银行名称 年份 行测题量 行测所占比例 中...

公考菜鸟行测关键答题技巧有哪些您好,最近我们也服务跟您情况类似的考生,对于这类问题中政行测在线备考方案专家建议: 第一次参加公考,新手往往心态上比较忐忑,急于知道行测有哪些答题技巧,但大家要知道,行测是能...

公务员考试行测解题技巧有哪些公务员考试行测万能解题技巧行政职业能力测验是有别于其它考试的一种考试模式。在行政职业能力测验中,选择题垄断了所有题型,这其中不管是国考还是地方的省考,更以单选题为主。...

Excel的小技巧你好,有快捷方式可以把空的单元格按照它上面的填充,使保持一致。 操作方法: 1、选中需要填充的单元格; 2、按住CTRL,选中一个单元格,输入需要的内容; 3、然后按Ctrl+回车。...

微软远程桌面使用技巧有什么1)首先要打开电脑的远程桌面功能,(的电脑使用的是Windows7,所以以下的例子就均以Windows7为准了)打开Windows7的控制面板,选择系统,然后选择远程设置,接着在远程设置界面中下方的远...

玩台球的技巧是什么.身体姿势: 和其他一些体育项目一样,姿势是很关键的一个因素。由于每个人的高矮、胖瘦、骨骼结构各不相同所以每个人打球的姿势都不是一模一样的,所以要提醒注意的是千万不要去...

台球技巧是如何的我来说说,希望我的回答对你有帮助。。。。只要做到姿势舒适,发力平稳,出杆稳固,也没其它什么技巧了,我前面说的三点都做到了的话想提高就只有靠多练习,而且练习必需有目的有方法的...

台球的基本技巧台球的基本技巧有,高杆、缩杆、偏枪、跳球等等,还有很多技巧是通过这些基本技巧演变而来,比如刹车球、跳球、偏缩、还有加旋转的高杆以及弧线球(香蕉球)。 高杆:顾名思义就是击打...

桌球技巧???呵呵,是你击打母球的技巧没做好。 你没有击穿母球!击穿母球一个简单的方法:运杆时用拇指和食指轻叩住杆部(不要过轻,防止球杆飞出),击球,当杆头接触母球的瞬间(什么时候接触,在运杆时...

推荐阅读
图文推荐
栏目列表