原文
http://www.3geye.net/?3/viewspace-3187
昨天,因为工作需要想了解下脚步引擎的实现原理,下载了一个
开源的
脚本引擎,研究了下,
3GEYE^9ys.p�^.p;G!s
如果大家需要下载的,请到我空间Google下,就可以发现这个脚本引擎的具体地址。
3GEYEX6xWl(p Y!Cl)z1^$`
下面我来说下这个脚本引擎的一些
性能问题。
![n t*w
S`m3
%p6mw8VX3Qx;{ K%D5q3首先来看看他是怎么读取脚本
文件的。
3GEYE6C~3UC
p4d8{
3GEYEQF)A$pt)QOG
a
代码
;wv2zD:bP33GEYE+erGU4vzrz
InputStream is = new Object().getClass().getResourceAsStream(path); //j2me使用
0}%j6Ch}V'p3 ByteArrayOutputStream baos = new ByteArrayOutputStream();
MCd,`3n
~'S(|3 int ch = 0;
8|@DzXe:m2^O3 while ( (ch = is.read()) != -1) {
3GEYE.fv`!mwn(R
baos.write(ch);
3GEYE$l | B8R"`jO
}
3GEYE7{:AKw1ZF4}�j:T
上面是作者读取脚本文件代码,本人觉得这个代码的效率很低,一个个字符读取出来,速度很慢,我测试了下发现读取一个很简单的文件需要47毫秒,在Dell 1420的机器上。这样的效率是很可怕的。
Lp�EZ:^33GEYE:vN|Ou:C1X$^
下面看看我是怎么提高他的性能的。
"s'O3K:xW4IZ,Rm,R)I33GEYE(Gh6CO+G`
byte[] buff = new byte[512];
3GEYE7u9]xA,?I
long total = 0;
3GEYEQ In|*A[1P
int count = 0;
3GEYE u
J?J0d
3GEYEQ%fNX"|9W3JB
while ((count = is.read(buff)) > 0) {
*@)teb6P)df&e+r3 baos.write(buff, 0, count);
3GEYE5`X;C,@g?P6i o
total += count;
3GEYEnM7S+Gp)}$L(JG-m
}
[]"|L%v8r$~3我是采用了一个512字节的缓冲区去读取这些数据,经过测试发现Dell 1420机器上的花费是0毫秒。
3GEYEMG
U,s4| A$t
快了非常多。
/P:B`OX*H�E3不过脚本引擎除了读取源文件外,最重要的核心是解释引擎的速度。
3GEYE%\_`K4?#s;Zv
Ee[:?i$Rm3有时间继续研究下。
3GEYEjY-`8MTs
分享到:
相关推荐
在Java开发领域,`java.lang.ClassFormatError: Bad version information`是一个常见的错误,通常发生在尝试加载或执行不兼容的字节码时。这个错误表明Java虚拟机(JVM)遇到了一个它无法识别或者处理的类文件版本。...
**J2ME游戏引擎详解** Java 2 Micro Edition(J2ME)是Oracle公司为小型设备...随着技术的发展,虽然现在更多高级平台如Unity和Unreal Engine占据主流,但J2ME游戏引擎的历史地位和对移动游戏早期发展的贡献不容忽视。
一个非常小的script脚本引擎,可以同时在j2me / j2se / c++ platform上面运行它的目标是使用这个脚本引擎便于开发一个更加灵活的j2me 游戏这个脚本有点像BASIC这东西不错,是一个开源的脚本引擎,大家可以学习里面的...
标题中的"J2ME脚本引擎"指的是一个特别为J2ME平台设计的脚本处理组件,允许开发者在J2ME应用程序中执行脚本语言。这种引擎通常提供了接口,让Java代码可以调用和执行脚本,而无需在运行时编译完整的Java类,从而节省...
在移动设备领域,Java 2 Micro ...总的来说,J2ME上的脚本引擎为开发者提供了更多可能性,尤其是在游戏开发和动态内容生成方面,它降低了开发复杂性,提升了开发效率,是J2ME平台上一个值得深入研究和学习的技术。
相比之下,J2ME作为早期的移动平台,其游戏引擎开发相对较少,但仍有大量的老旧设备和低端市场需要支持,因此开发J2ME游戏引擎仍具有一定的市场价值和技术挑战。 2.1 游戏引擎相关技术 2.1.1 编程语言技术要求 ...
没有开发工具,MNS脚本引擎可以让你不需要写一行j2me代码,就可以完成游戏开发,你信吗?不信,你可以下载这个引擎学习包,自己去试试,这个引擎学习包没有做相应的IDE,所以你需要参照说明的步骤来进行,你只要编辑脚本文件,...
**J2ME上的脚本引擎——ScriptEdit** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机和智能家电。在J2ME上运行脚本引擎,可以实现动态编程、简化应用开发以及提高代码的...
这里分享一下我们编写的android游戏引擎和编辑器以及示例代码! 引擎源代码、示例Demo以及L9Editor编辑器在附件中! 可以直接下载使用,方便那些没有安装 SVN的同学或者还没用过版本控制得同学使用! 最新的版本需要...
对于想要学习J2ME游戏开发或希望增强现有项目物理效果的开发者,DyMiX_basic_0.1是一个值得研究的工具。通过阅读源代码,理解其设计原理和实现方式,开发者可以提升自己的技能,并可能在此基础上进行扩展和定制,以...
J2ME 游戏脚本引擎是一个非常小的脚本引擎,可以同时在 j2me / j2se / c++ platform 上面运行。它的目标是使用这个脚本引擎便于开发一个更加灵活的 j2me 游戏。 这些框架和库都可以用于简化 J2ME 应用程序的开发...
J2ME,全称Java 2 Micro ...通过深入研究这个范例程序,开发者可以理解J2ME游戏开发的基本原理,学习如何构建一个简单但功能齐全的游戏引擎。这不仅可以提高个人技能,也为未来更复杂的移动游戏项目打下坚实基础。
【描述】中提到的“J2ME游戏移植Android文档”很可能包含了一系列步骤和最佳实践,指导开发者如何有效地进行移植工作。这个过程通常包括理解J2ME和Android之间的差异,识别和解决兼容性问题,以及利用特定工具和库来...
通过研究和分析Desolo,开发者可以更好地理解如何利用J2ME游戏引擎来创建具有强大编辑器和光照效果的2D游戏。 总结来说,J2ME游戏引擎结合其强大的编辑器和光照效果,为2D游戏开发提供了丰富的工具和可能性。通过...
Java J2ME游戏引擎是为在Java Micro Edition (J2ME)平台上开发移动游戏而设计的一种软件框架。J2ME是一种轻量级的Java平台,主要用于嵌入式设备,如早期的智能手机和平板电脑,它提供了运行Java应用程序的能力,包括...
在移动通信领域,J2ME曾广泛应用于游戏开发和各种轻量级应用,而"物物J2ME脚本编辑器"则是针对这一领域的专业开发工具,旨在简化开发者的工作流程,提高开发效率。 物物J2ME脚本编辑器的核心特性在于其对脚本的支持...
在J2ME游戏开发中,NPC(Non-Player Character,非玩家角色)的脚本设计是关键的一环,它决定了游戏的互动性和趣味性。本文将深入探讨NPC脚本在J2ME游戏中的应用与实现。 NPC脚本,简单来说,就是为游戏中的非玩家...
这个压缩包文件"j2me游戏开发及其源码.rar"包含了关于J2ME游戏开发的详细资料,非常适合初学者学习和探索。 在J2ME游戏开发中,你需要了解以下几个核心知识点: 1. **基础环境配置**:首先,开发者需要安装Java ...
Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备,特别是手机设计。在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用...
1. **碰撞检测**:物理引擎的核心功能之一就是碰撞检测,DyMiX_basic_0.1可能提供了基本的矩形、圆形等形状的碰撞检测算法,让游戏中的物体在接触时能够产生相应的反应。 2. **刚体模拟**:通过模拟刚体的运动,...