我有一个简单的libgdx游戏代码,它包含1个纹理和一个带有4个发射器的粒子效果。
每当我恢复到游戏屏幕或锁定解锁手机时,我都会延迟大约3秒钟。
如何减少此延迟?
我尝试过的一件事是通过减少纹理图像大小。
在我有300kb的纹理图像并且用于延迟5秒之前,现在我已将它减少到60kb
现在我得到了3秒的延迟。
有没有什么方法可以减少延迟。我不想显示任何spalsh屏幕
代码:
@Override
public void show() {
SpriteBatch batch = new SpriteBatch();
Texture tex = new Texture(Gdx.files.internal("data/bg1.jpg"));
Sprite sprite = new Sprite(tex);
ParticleEffect pe = new ParticleEffect();
pe.load(Gdx.files.internal("data/pe1.p"), Gdx.files.internal("data"));
pe.start();
}
@Override
public void render(float delta) {
gl.glClearColor(0f, 0f, 0f, 1f);
gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
gl.glViewport(0, 0, (int) Width, (int) Height);
camera.update();
batch.setProjectionMatrix(camera.combined);
batch.begin();
sprite.draw(batch);
pe.draw(batch, delta);
batch.end();
}
答案 0 :(得分:0)
为什么不尝试在show()字段变量中创建局部变量并在构造函数中而不是在show方法中初始化它们。我仍然建议测量哪一部分花费的时间最多,正如一条评论所述。