首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java中加速嵌入式Groovy

在Java中加速嵌入式Groovy
EN

Stack Overflow用户
提问于 2011-05-07 03:40:17
回答 1查看 662关注 0票数 1

我正在尝试为一个游戏引擎创建脚本AI,我正在开发一个有趣的游戏引擎。我决定尝试使用Groovy来创建作为GroovyClasses加载的.groovy行为文件,然后将其转换为我的behavior接口。问题是,这是令人难以置信的缓慢。我在每个游戏周期执行更新,脚本化的AI类将程序带入爬虫。我的问题是,有没有办法加快嵌入式groovy的速度,或者有没有更好的方法来做我正在做的事情?谢谢你的帮助。

相关代码如下:

代码语言:javascript
运行
复制
public interface Behavior {
     public void execute(GameComponent component, float time);
}

Groovy文件在初始化时加载,并转换为GroovyClasses:

代码语言:javascript
运行
复制
 public boolean cacheScript(String key, String path) {

        try {
            Class groovyClass = loader.parseClass(ClassLoader
                    .getSystemResourceAsStream(path));
            Object object = groovyClass.newInstance();
            scripts.put(key, (Behavior) object);
        } catch (InstantiationException e) {
            return false;
        } catch (IllegalAccessException e) {
            return false;
        }

        return true;
    }

然后,GameComponent像这样执行以下代码

代码语言:javascript
运行
复制
engine.getBehavior(key).execute(component, time);
EN

回答 1

Stack Overflow用户

发布于 2011-05-07 04:12:01

如果不查看整个项目,就不可能判断瓶颈是不断地加载和编译Groovy代码,还是加载后正在运行实际的Groovy代码。如果你的问题是一旦Groovy代码加载到你的游戏中,执行起来会花很长时间,看看Groovy++,我不确定它有多好,因为它还处于早期阶段,但是如果这是一个学习项目,它对你来说可能已经足够稳定了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5916234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档