2017-06-13 6 views
0

Ohne diesen Code ist fps 60-65. Aber wenn ich diesen Code benutze, fps runter auf 50.Niedrige fps auf LibGDX

Ein weiteres Problem ist, dass die FPS auf einigen Geräten zu niedrig ist. Das Spiel ist jedoch ziemlich einfach. Ich verwende ShapeRenderer für alle Formen. Spiel ist hier: link

try { 
      Thread.sleep((long)(1000/60-Gdx.graphics.getDeltaTime())); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

Edit: ich dieses Problem mit diesem Code gelöst ->link.

+2

Sie diesen Code verwenden, sollten nicht, versuchen Sie fps deckeln? – Lestat

+2

Warum konvertieren Sie dies zu einem langen? Diese Division wird als ganzzahlige Division mit einem Ganzzahl-Ergebnis betrachtet, die stattdessen in einen Fließkommatyp umgewandelt wird. –

+0

Und bitte ... schreibe nicht alles in einen try & catch-Block. –

Antwort

3

Sie können den FPS auf einen beliebigen Wert in einer libgdx-Anwendung begrenzen, indem Sie in der Konfiguration Ihres App Loader den Wert foregroundFPS definieren.

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); 
    config.width = 640; 
    config.height = 480; 
    config.foregroundFPS = 60; // <- limit when focused 
    config.backgroundFPS = 60; // <- limit when minimized 
    config.samples =2; // AA for shape renderer.. not textures! 
    new LwjglApplication(new libgdxapp(), config); 

android config

Continuous rendering

+0

Nun, was mache ich auf dem Android. Und 'cfg.samples = 2' funktionierte nicht für AA. – Salihcan

+0

in android verwenden Sie config.numSamples = 2 anstelle von Beispielen – dfour

+0

Ich meine cfg.samples funktionieren nicht auf dem Desktop. Und, was ist 'config.foregroundFPS = 60' Code für Android – Salihcan