手机游戏性能优化初步探讨
2014-04-21程浩宇
摘 要 随着高新科学技术的不断发展,手机游戏性能的优化得到了进一步的提升。如何减少手机内过多的冗余数据、在延时效应上进行逐步的改善、使整体的运行效率进一步提升已经成为提升手机游戏性能的关键所在。笔者在此对手机游戏内部软件系统进行了详细分析,以供参考。
关键词 手机游戏;性能优化;测试分析
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2014)04-0030-03
传统手机游戏应用系统基于Java程序运行,但运行速度慢,残留数据信息量多,造成较大的延时效应。而目前采用的基于android系统的开发技术,不但缓存数据信息小,并且在手机界面和音质上都有进一步的提升。
1 J2ME平台的搭建流程
J2ME在平台构建上采用软件和硬件设备共同搭建的过程,在兼容性能上能够起到很好的作用。但终端设备(游戏开发平台)正常运转过程中,有时会出现传输数据信息堵塞的现象。在流程分析过程时,产生这种原因主要是因为在性能和数据缓存上存有一定的差距,假设硬件设备在传输游戏数据信息时,每秒钟的信息量为3M,软件设备在处理运行的数据信息时,便没有对应的层次,传输数据信息需要进行物理层帧的传输,链路层的封装以及网络层的数据包的压缩。软件设备正常工作条件下,达不到实际的需要,但J2ME在设计结构上针对不同的应用平台,设计了Java游戏编程的线性结构,并且Java虚拟机在实践中的运行操作流程简化了游戏终端编码效应机制。在搭配流程上分为游戏可选包,在可选包选用界定范围内,主要是对游戏应用平台的J2ME的开发。
在MIDP选用模块中对J2ME没有做过多的要求,而是采用可选包的形式代替了原有的结构层面,在可选包的应用流程中可划分多个层面结构,包括:Web传输服务器、游戏无线多媒体终端以及流量传输消息。在第三层结构上便以简表的形式代替,简表程序的开发主要基于android应用层面的划分,将抽取的模拟信号转化成数字信号,完成整个传输数据模块的对接,并且在开发游戏界面上所用的简表都是基于对CLDC设备运行所用的简表,在J2ME应用程序流程中对CLDC的应用配置进行研究。基于android系统编程版块运行SDK应用软件,在安装android应用程序中的SDK板块时没有对编程系统的JAVA中的应用版块激活,所以在运行android系统内SDK应用包时,应先激活java应用程序中的JDK,在安装JDK应用流程中,应先双击应用包解压至C盘Problem应用程序中。在此选择next下一步操作流程,最后点击安装便可完成对java应用程序内的JDK安装,然后激活android中的SDK应用程序包,android应用程序是在java的基层上建立起来的,所以在应用程序中首先激活最底层的应用程序包,然后再选用最高层的程序包。
2 Java虚拟机在实践中的运行操作
Java虚拟机在游戏编译器的运行系统中将源代码中的字节代码通过代码转换成相应的字节码,然后通过信道的传输,到达字节码文件中,之后Java虚拟机便会对字节码中传输的信息进行检测、校验,等待数据信息校验完成后,解码器便对字节码之间的数据进行翻译处理,解码器每执行一次,相应的操作指令便会对应编码一致的游戏机器码,直到所有翻译对字节码全部读取完成为止。这种执行字节码的操作流程的优点便是与所提供的Java游戏系统平台无关,具体字节码翻译的操作流程如图1所示。当Java虚拟机对手机游戏字节码信息读取完成时,便要转换到存储器中,并且接口的模式结构还要与cache/memory接口配置相吻合,协议器将导出的字节码加入到8或64位系统中的RICS运行操作环境中,将Java虚拟机运行的协议码转换至机器码,使得被手机游戏终端系统所识别,执行所属功能区域。其次在后期数据转换算法程序中需要将字节码完成相应的跳变,其中采用的是逻辑关系中的“与”运算的跳变过程,一个元素只能在Java虚拟机内完成一次相应跳变的过程,对于跳变的码元在堆栈的引导下,传输至HIR运行操作命令中,最终将代码程序进行内联扩展,采用的是虚拟机的内联虚测调制技术,将其转换成静态的安全测试码,以供Java虚拟机安全稳定的运行,执行相应的操作流程,最后通过Java虚拟机中的界面管理游戏界面设定程序的运行情况,所以这种运行实践程序确保的系统能够有条理的运行。
图1 Java字节码翻译流程图
Java虚拟机融合了全部游戏终端系统的应用技术,并且Java虚拟机和Java游戏系统中的API共同构成了Java游戏应用数据平台,根据Java虚拟机的线性结构分析,包含了四个层次的应用程序:基于Linux开发系统的Java游戏手机平台,传统Windows系统所应用的Java游戏手机平台,基于嵌入式编程系统的Java游戏手机平台以及操作智能系统所用的Java游戏手机平台。这四个应用程序所运行的环境平台也不尽相同,四个应用平台在排布结构上依次为:Linux游戏应用平台,Windows游戏应用平台,嵌入式编程游戏应用平台以及智能卡算术处理游戏平台。Linux开发的游戏系统是一种支持开放源代码的操作系统,这种系统可安装到不同计算机设备上,并且也是一个基于POSIX和UNIX面向多用户、多协议的操作系统,在Java游戏虚拟机编程处理过程中基于对Linux应用程序的代码编程,设定合适的复选框,所运行的环境文件包含了xml操作程序编程的代码:
Public void dialog() {
dialog=new AlertDialog.OnClickListener (this).create()
intcurrentPosition=player.getCurrentposition()
super.handleMessage(msg)
private Button bRootDirctory;endprint
fRootDircctory=Environment.getRoot Dircctory() }
在Windows游戏系统中所运用的虚拟机主要为处理运算速度,在逻辑结构中添加了ACCESS数据库的“宏”的处理运算模式,利用二叉树的模型结构对数据进行筛选,最后得出运算结果。
3 Android游戏系统应用平台构架结构
3.1 Android游戏应用系统布局的设定
Android游戏系统在设计开发时,会根据应用程序设定一些专用的数据包,包括:界面管理、日历、计算器、邮件接收装置以及地图查询等。
在游戏播放器界面设计流程中基于六个设定目标的程序进行设计,其中在界面的最上端为隐藏窗口的设计,用户在搜索项目列表时,点击屏幕的最上端,则小窗口便会浮现出来。在规定时间内若是没有响应变化,则该窗口便会自动隐藏。下面便是封面的设计流程,按照所选模式类型的不同分为水平界面模式、垂直界面模式以及3D立体界面模式。游戏播放程序的设计,分为单曲循环模式、随机模式、列表顺序模式,用户在选定游戏播放的歌曲时,可按照不同进度进行调整。第四个便是本地搜索按钮,当小窗口没有浮现在游戏界面管理器时,用户可点击自行设定的搜索按钮,也可搜索出本地的项目组。第五个操作按钮为游戏播放进度按钮,用户可自动调节音乐播放快慢得节奏,减缓等待时间。第六个操作按钮为游戏音效调节按钮,游戏播放器中播放音效的效果有流行、古典、爵士以及轻音乐,这样可以满足用户对不同种游戏音质的调整。
3.2 Android游戏音频构架结构的设计
Android游戏音频构架结构的设计是根据Linux中ALSAD的设定程序进行设计,在原有的基础上加入了混响效应,音频驱动设定在内核应用处理程序中,驱动库在S0C音频系统调解下,进入到Audio射频硬件数据层,处理音频的数据结构,按照音频的不同调节程度范围,分为左音频、右音频、立体音频。三种逻辑结构的设计是根据用户听音乐不同的节奏进行调制,对于左音频的设计主要对定调频率的节减,减少多余的冗余数据,使之处于高保真的效果。右音频是针对音频硬件中输入电流的控制,右端的射频端点的幅值高于左端点临界的幅值,保持水平状态向前传输。立体音频是Android应用层的调制结构,在SRC和HAL调制语音信道的带宽,增大传输带宽的占有量。使在两边能产生音质的共鸣,混音器的混音程度才能减至最低。
3.3 手机游戏音乐播放器功能的设计
手机游戏音乐播放器的主要功能设计包括暂停、停止、歌曲搜索、当前手机游戏播放进度以及歌曲信息的查询等。其中曲目的搜索查询主要是为了能够满足游戏用户能够在短时间内搜索到查询的曲目,在Android应用程序系统中,把嵌入式的设计结构与曲目的单字码片信息融合在一起。即在xml的后缀名中包含了曲目的关键信息,xml主要用于数据库信息的检索,只要在数据库内保存的数据,xml便能在短时内获取根源的有效性信息,xml系统还能完成对数据库的扩充,使数据逻辑结构都够完全映射到应用层,保证数据信息的独立性。按手机游戏界面菜单单选钮的设计可分为3D交互的投影模式、列表水平模式、垂直模式以及按照信息量排版的模式,3D交互的投影模式是将节目信息以立体投影的方式展示给用户,在设计上采用了数轴的设计结构,包括X/Y/Z轴偏向角的设定,X轴与Y轴之间的偏向夹角为45度,Z轴所在的平面为向量X与向量Y的差乘。
3.4 手机游戏音乐播放器功能时序图
手机音乐播放器的功能时序图是根据UML程序进行设定的,按照功能进程的顺序进行排序。当一种程序运行时,下一个程序的命令代码便会随机触动,使整个模块的交互集中在一个操作命令程序上。音乐播放器的时序图包括主页面运行程序的设定、播放音乐次数的设定、界面管理运行的设定、播放顺序程度的设定、画面转变模式的设定、数据信息切换模式的设定以及核心系统运行程序的设定。主页面运行在Android应用程序中完成数据信息的集成,将播放数据的列表集成在XML系统中,这样系统在读取数据信息时便会简化检索的范围。手机游戏用户点击音乐游戏模式,便会自动进入到播放列表中,最后切换到应用版块播放器上,播放点击选中游戏的列表歌曲。
4 手机游戏性能优化
用户在手机终端进行游戏时,点开游戏界面便会产生短时间的停滞,主要是因为手机终端设备在有限时间内,没有进行及时的应答。比如手机游戏音乐只停留在一句歌词中,出现卡盘的现象。说明手机在传输数据信号上造成线路的堵塞。所以手机游戏性能优化主要是单位时间内完成的吞吐量,手机游戏用户在执行任务过程中,手机终端系统便会在有限时间内完成一定的工作量。假设传统手机终端用户在使用Java操作系统中,终端本身占有的带宽窄,并且传输的流量速度慢,造成在单位时间内没有完成数据包的传送,这就造成了吞吐量的延时效应。吞吐量是以数据包的形式传送,传输单位为Mbps,但在传输过程中需要对传输的数据包进行处理,处理过程中便由防火墙进行优化,假设传输设备在传输数据包过程中,每秒传输的数据量为60Mbps,而防火墙在处理数据包的过程中,处理的速度为40Mbps,这便造成的网络数据流量堵塞的现象。这种性能优化技术主要体现在接收端数据帧的计算上,假设在终端设备内接收到的数据帧与发送端发送的数据帧相等,可以在此基础上提高原有的传输速率,增大设备的吞吐量,减少延时效应。假设终端设备接收的数据帧与原有设备发送的数据帧相差甚多,便调节终端设备的吞吐量,使之能够满足处理器与防火墙之间的性能优化。
手机终端用户为了能够更方便的查询当前游戏的最大传输速率,便在应用界面上设定流量查询。流量查询是在编码程序中控制了编码的波形,对传输波形信号的幅值和频率加以控制,便在游戏终端系统内添加了滤波器,数据流量在传输过程中需要对传输的波形和幅值进行检索,在传输过程中滤波器过滤掉传输波形不符的信号。若传输的波形为正弦波,波形幅值为±1,周期变化间隔为0.3 s。便会在显示屏幕上显示当前的传输速率,针对当前的传输信道和吞吐量进行设定。当遇到幅值变化不一的波形时,就会被滤波器过滤掉,传输的速率便会超过原有的最大流,这时便会在屏幕上显示当前最大截止传输速率。endprint
手机游戏终端系统在编码技术方面也进行了优化设定。编码调制分为二进制编码调制、十进制编码调制以及十六进制编码调制,二进制编码技术的原理采用的是0电平与1电平之间的跳变,每4位码字为一个数据值,0000代表编码值为0,0001代表编码值为1,0010代表的编码值为2,以二次方的形式向前排列。信源设备发射一组358653比特的数据流时,二进制码型为0011 0101 1000 0110 0101 0011,完成0、1电平跳变过程。十进制编码调制的输入端有十个数据连接点,每个数据点代表每一个传输的数据值,输出部分的连接点共有四个,形成为8421十进制编码,数据连接点的排布从左向右为I0—I9,编码的数字首位为0,其他数字为1时,输出端编出的码型序列为0;编码的数字第二位为0,其他数字为1时,输出端编出的码型序列为1;编码的数字第三位为0,其他数字为1时,输出端编出的码型序列为2;编码的数字第四位为0,其他数字为1时,输出端编出的码型序列为3;编码的数字第五位为0,其他数字为1时,输出端编出的码型序列为4;编码的数字第六位为0,其他数字为1时,输出端编出的码型序列为5。十进制编码比二进制编码复杂,但保密性能比二进制好,使用户在进行游戏时,不会轻易被病毒窃取手机终端系统的数据资料。有些游戏软件会自带病毒,假设用户手机没有严谨的加密方式,很容易被黑客盗取内部的数据信息。
垃圾处理也是手机游戏性能优化指标中的重要一项,手机游戏用户在正常使用过程中,没有对垃圾进行及时的清理,便会占用过多的CPU内存空间。假设冗余数据过大,便会造成用户手机系统的崩溃。增大了延时效应,使得手机处于死机状态,在对手机垃圾清理过程中,清理掉多余的磁盘碎片,对没有的数据信息进行大批量的自动清理。手机用户在下载游戏音乐时。假设中断了下载过程,下载部分便占用了一定的数据流量。用户在开机过程中,所有的应用系统便会全部开始运行,若没有删除掉原有系统中的垃圾数据,使运行的数据信息无法正常使用,只有等到下一个空闲状态再次开始运行。而现代采用的垃圾处理技术是基于对Null命令的一种优化,设定了间隔时效,在设定的时间内自动处理系统内存内过多的垃圾。减少过多的冗余数据,对残留的文件进行快速处理,对于一些残留在注册表内的数据信息,可能定时进行清理。手机游戏终端系统在清理时会有时间间隔的提问,是否确定本次操作。这样可以给用户加以确定的机会。这样的操作流程在android界面中十分常见,编程代码程序中添加界面管理器,这样可以很方便的对此进行操作。
5 结束语
通过对手机游戏性能优化初步探讨,在应用程序上由java过渡至android系统应用平台中。音质效能的优化,数据流量的测试优化以及垃圾处理系统的优化将会使今后手机游戏终端平台的发展前景更为广阔。
参考文献
[1]肖春秀.基于J2ME平台的网络RPG游戏引擎开发[D].杭州:浙江大学,2006.
[2]吴延昌,冯萍,苏聪.基于J2ME技术的应用开发与研究[J].微电子学与计算机,2005,22(9):71-73.
[3]梁泉.中国手机网络游戏发展策略研究[D].北京:北京邮电大学,2006.
[4]胡虚怀.移动设备中基于MIDP2.0的2D游戏的开发[J].计算机工程与应用,2005(13):104-107.
[5]Steve Rabin,庄挺越.AI Game Programming Wisdom[M].北京:清华大学出版社,2005.
[6]李莹,王昕,毛迪林,高传善.J2ME MEDP中RMS的设计实现与性能优化[J].计算机工程,2006(8):52-54.
[7]张卫山,刘伟.基于J2ME的手机网络RPG游戏引擎[J].计算机工程与应用,2005(33):115-117.
[8]Andrew Rollings,金名译.游戏设计技术[M].北京:北京希望电子出版社,2004.
[9]Andre La Mothe.Tricks of the Windows Game Programming Gurus(2)[M].China:Science Publications Co,2005.
[10]Daniel Sanchez-Crespo Dalmau,邱仲潘译.游戏核心算法编程内幕[M].北京:北京希望电子系出版社,2004:54-55.
作者简介
程浩宇,男,汉族,工程师,本科。endprint
手机游戏终端系统在编码技术方面也进行了优化设定。编码调制分为二进制编码调制、十进制编码调制以及十六进制编码调制,二进制编码技术的原理采用的是0电平与1电平之间的跳变,每4位码字为一个数据值,0000代表编码值为0,0001代表编码值为1,0010代表的编码值为2,以二次方的形式向前排列。信源设备发射一组358653比特的数据流时,二进制码型为0011 0101 1000 0110 0101 0011,完成0、1电平跳变过程。十进制编码调制的输入端有十个数据连接点,每个数据点代表每一个传输的数据值,输出部分的连接点共有四个,形成为8421十进制编码,数据连接点的排布从左向右为I0—I9,编码的数字首位为0,其他数字为1时,输出端编出的码型序列为0;编码的数字第二位为0,其他数字为1时,输出端编出的码型序列为1;编码的数字第三位为0,其他数字为1时,输出端编出的码型序列为2;编码的数字第四位为0,其他数字为1时,输出端编出的码型序列为3;编码的数字第五位为0,其他数字为1时,输出端编出的码型序列为4;编码的数字第六位为0,其他数字为1时,输出端编出的码型序列为5。十进制编码比二进制编码复杂,但保密性能比二进制好,使用户在进行游戏时,不会轻易被病毒窃取手机终端系统的数据资料。有些游戏软件会自带病毒,假设用户手机没有严谨的加密方式,很容易被黑客盗取内部的数据信息。
垃圾处理也是手机游戏性能优化指标中的重要一项,手机游戏用户在正常使用过程中,没有对垃圾进行及时的清理,便会占用过多的CPU内存空间。假设冗余数据过大,便会造成用户手机系统的崩溃。增大了延时效应,使得手机处于死机状态,在对手机垃圾清理过程中,清理掉多余的磁盘碎片,对没有的数据信息进行大批量的自动清理。手机用户在下载游戏音乐时。假设中断了下载过程,下载部分便占用了一定的数据流量。用户在开机过程中,所有的应用系统便会全部开始运行,若没有删除掉原有系统中的垃圾数据,使运行的数据信息无法正常使用,只有等到下一个空闲状态再次开始运行。而现代采用的垃圾处理技术是基于对Null命令的一种优化,设定了间隔时效,在设定的时间内自动处理系统内存内过多的垃圾。减少过多的冗余数据,对残留的文件进行快速处理,对于一些残留在注册表内的数据信息,可能定时进行清理。手机游戏终端系统在清理时会有时间间隔的提问,是否确定本次操作。这样可以给用户加以确定的机会。这样的操作流程在android界面中十分常见,编程代码程序中添加界面管理器,这样可以很方便的对此进行操作。
5 结束语
通过对手机游戏性能优化初步探讨,在应用程序上由java过渡至android系统应用平台中。音质效能的优化,数据流量的测试优化以及垃圾处理系统的优化将会使今后手机游戏终端平台的发展前景更为广阔。
参考文献
[1]肖春秀.基于J2ME平台的网络RPG游戏引擎开发[D].杭州:浙江大学,2006.
[2]吴延昌,冯萍,苏聪.基于J2ME技术的应用开发与研究[J].微电子学与计算机,2005,22(9):71-73.
[3]梁泉.中国手机网络游戏发展策略研究[D].北京:北京邮电大学,2006.
[4]胡虚怀.移动设备中基于MIDP2.0的2D游戏的开发[J].计算机工程与应用,2005(13):104-107.
[5]Steve Rabin,庄挺越.AI Game Programming Wisdom[M].北京:清华大学出版社,2005.
[6]李莹,王昕,毛迪林,高传善.J2ME MEDP中RMS的设计实现与性能优化[J].计算机工程,2006(8):52-54.
[7]张卫山,刘伟.基于J2ME的手机网络RPG游戏引擎[J].计算机工程与应用,2005(33):115-117.
[8]Andrew Rollings,金名译.游戏设计技术[M].北京:北京希望电子出版社,2004.
[9]Andre La Mothe.Tricks of the Windows Game Programming Gurus(2)[M].China:Science Publications Co,2005.
[10]Daniel Sanchez-Crespo Dalmau,邱仲潘译.游戏核心算法编程内幕[M].北京:北京希望电子系出版社,2004:54-55.
作者简介
程浩宇,男,汉族,工程师,本科。endprint
手机游戏终端系统在编码技术方面也进行了优化设定。编码调制分为二进制编码调制、十进制编码调制以及十六进制编码调制,二进制编码技术的原理采用的是0电平与1电平之间的跳变,每4位码字为一个数据值,0000代表编码值为0,0001代表编码值为1,0010代表的编码值为2,以二次方的形式向前排列。信源设备发射一组358653比特的数据流时,二进制码型为0011 0101 1000 0110 0101 0011,完成0、1电平跳变过程。十进制编码调制的输入端有十个数据连接点,每个数据点代表每一个传输的数据值,输出部分的连接点共有四个,形成为8421十进制编码,数据连接点的排布从左向右为I0—I9,编码的数字首位为0,其他数字为1时,输出端编出的码型序列为0;编码的数字第二位为0,其他数字为1时,输出端编出的码型序列为1;编码的数字第三位为0,其他数字为1时,输出端编出的码型序列为2;编码的数字第四位为0,其他数字为1时,输出端编出的码型序列为3;编码的数字第五位为0,其他数字为1时,输出端编出的码型序列为4;编码的数字第六位为0,其他数字为1时,输出端编出的码型序列为5。十进制编码比二进制编码复杂,但保密性能比二进制好,使用户在进行游戏时,不会轻易被病毒窃取手机终端系统的数据资料。有些游戏软件会自带病毒,假设用户手机没有严谨的加密方式,很容易被黑客盗取内部的数据信息。
垃圾处理也是手机游戏性能优化指标中的重要一项,手机游戏用户在正常使用过程中,没有对垃圾进行及时的清理,便会占用过多的CPU内存空间。假设冗余数据过大,便会造成用户手机系统的崩溃。增大了延时效应,使得手机处于死机状态,在对手机垃圾清理过程中,清理掉多余的磁盘碎片,对没有的数据信息进行大批量的自动清理。手机用户在下载游戏音乐时。假设中断了下载过程,下载部分便占用了一定的数据流量。用户在开机过程中,所有的应用系统便会全部开始运行,若没有删除掉原有系统中的垃圾数据,使运行的数据信息无法正常使用,只有等到下一个空闲状态再次开始运行。而现代采用的垃圾处理技术是基于对Null命令的一种优化,设定了间隔时效,在设定的时间内自动处理系统内存内过多的垃圾。减少过多的冗余数据,对残留的文件进行快速处理,对于一些残留在注册表内的数据信息,可能定时进行清理。手机游戏终端系统在清理时会有时间间隔的提问,是否确定本次操作。这样可以给用户加以确定的机会。这样的操作流程在android界面中十分常见,编程代码程序中添加界面管理器,这样可以很方便的对此进行操作。
5 结束语
通过对手机游戏性能优化初步探讨,在应用程序上由java过渡至android系统应用平台中。音质效能的优化,数据流量的测试优化以及垃圾处理系统的优化将会使今后手机游戏终端平台的发展前景更为广阔。
参考文献
[1]肖春秀.基于J2ME平台的网络RPG游戏引擎开发[D].杭州:浙江大学,2006.
[2]吴延昌,冯萍,苏聪.基于J2ME技术的应用开发与研究[J].微电子学与计算机,2005,22(9):71-73.
[3]梁泉.中国手机网络游戏发展策略研究[D].北京:北京邮电大学,2006.
[4]胡虚怀.移动设备中基于MIDP2.0的2D游戏的开发[J].计算机工程与应用,2005(13):104-107.
[5]Steve Rabin,庄挺越.AI Game Programming Wisdom[M].北京:清华大学出版社,2005.
[6]李莹,王昕,毛迪林,高传善.J2ME MEDP中RMS的设计实现与性能优化[J].计算机工程,2006(8):52-54.
[7]张卫山,刘伟.基于J2ME的手机网络RPG游戏引擎[J].计算机工程与应用,2005(33):115-117.
[8]Andrew Rollings,金名译.游戏设计技术[M].北京:北京希望电子出版社,2004.
[9]Andre La Mothe.Tricks of the Windows Game Programming Gurus(2)[M].China:Science Publications Co,2005.
[10]Daniel Sanchez-Crespo Dalmau,邱仲潘译.游戏核心算法编程内幕[M].北京:北京希望电子系出版社,2004:54-55.
作者简介
程浩宇,男,汉族,工程师,本科。endprint