2014-11-13 4 views
1

У меня есть простой код для игры, содержащий 1 текстуру и эффект частиц с 4 излучателями. Когда я возобновляю экран игры или блокирую-разблокирую телефон, я получаю задержку около 3 секунд. Как уменьшить эту задержку? Одна вещь, которую я пробовал, заключается в том, что уменьшая размер изображения текстуры. Перед тем, как я получил изображение текстуры 300 кбайт и использовал для задержки 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(); 
    } 
+1

Пожалуйста, узнайте, где время потеряно. 'long t1 = System.currentTimeMillis(); ; long t2 = System.currentTimeMillis(); ... 'и, наконец, распечатать все' t'-s в журнале (или, лучше, различия, такие как 't3-t2'). – 18446744073709551615

+0

Как выглядит ваш метод 'pause()' и 'resume()'? – Springrbua

+0

У меня нет в pause() и resume() методов, они пусты. – ajinkya

ответ

0

Почему вы просто не попробовать сделать локальные переменные в шоу() переменные поля и инициализация их в конструкторе, а не в методе шоу. Я бы по-прежнему рекомендовал измерить, какая часть занимает больше всего времени, как говорится в одном комментарии.

Смежные вопросы