首页>
技术资讯>
详情

J2ME游戏优化探密

2016-05-25 来源:CloudBest 阅读量: 0
关键词:

    为什么要优化?
    我们大致可以把视频游戏宽泛地分成两类:实时游戏和输进驱动游戏。输进驱动游戏显示游戏当前的状态,在持续工作之前,会无限制地等候,直到有用户输进产生。棋牌类游戏就属于此类,还有大部分迷题类、策略类以及文字型冒险游戏。实时游戏,有时候称为技巧或动作游戏,并不会等候游戏者,他们会一直工作,直到Game Over。
    技巧或动作游戏的特征,通常体现在屏幕上大批地移动(想象一下 Galaga[注]或者 Robotron [注])。刷新频率必需至少有 10 fps(framepersecond,每秒帧数),并且要有足够的动作来保持游戏有挑衅性。这些游戏需要游戏者有快速的反应才能以及良好的眼手和谐才能,因此成功的S&A游戏同样请求对用户的输进有非常好的回馈。供给在高刷新率的图形运算的同时对按键进行快速的响应,正是为什么实时游戏需要高效率编码的原因。在应用J2ME 进行开发的时候,这更是一项极大的挑衅。
    Java 2 Micro Edition (J2ME) 是一个被修剪过的 Java版本,合适才能非常有限的小型设备,比如手机和 PDA。J2ME设备有如下特点:受限的输进才能(没有键盘!)显示区域小有限的存储空间和堆较慢的 CPU
    用 J2ME平台来开发游戏,对于开发者来讲是一个挑衅,由于他们编写的代码需要运行在远远慢于台式机的CPU 之上。
    什么时候不优化?
    假如你不是在编写一个技巧或者动作游戏,那么可能没有必要进行优化。假如游戏者每几秒钟或几分钟才进行下一步把持,那么他可能并不会介意你的游戏在响应他的动作时多花了几百毫秒。这条准则的一个例外,是当游戏在决定下一步把持时,需要进行大批的运算,比如在上百万种可能的棋谱中进行搜索,那么你可能需要对代码进行优化,以确保下一步能在几秒钟内盘算出来,而不是几分钟。
    假如你在编写这类的游戏,优化的过程可谓艰辛。许多这样的技巧通常伴随着其它的代价——它们不再是传统意义上的“好”程序,它们使得你的代码不易浏览。我们需要做出衡量,由于有的时候为了取得那么一点点性能上的改良,却需要我们明显地增大一个程序。J2ME的开发者都太熟悉要尽可能地让JAR包变小。以下是更多不进行优化的理由:优化很轻易引进 bug有些技巧会下降代码的移植性你花费了许多努力却只有很小甚至没有成果优化真的很难做
    最后一点需要澄清的是,优化是一个变更的目标,在 Java平台上是这样,在 J2ME平台上更是如此,由于运行环境千差万别。你优化过的代码在某个模仿器上可能更快,但是在真实设备上却更慢,反之亦然。在某一种手机上的优化可能实际上下降了在另一种上的性能。

热门推荐 查看更多