我在libgdx幀速率有問題,如果我做錯了什麼,alguin可以啓發我,因爲我不認爲這是正常的,問題是我加載瓷磚地圖和簡單的,如果把最高分辨率320×320,800×600說這下降到12幀/秒左右,我希望解釋得很好PUE腹股溝不是母語感謝。Libgdx問題幀速率(FPS)
public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
private OrthogonalTiledMapRenderer bachTileMapRender;
private OrthographicCamera camera;
private TiledMap map;
private int[] background = new int[] {0}, foreground = new int[] {1};
@Override
public void create() {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
map = new TmxMapLoader().load("maps/untitled.tmx");
bachTileMapRender = new OrthogonalTiledMapRenderer(map, 1/32f);//Asignar mapa
camera = new OrthographicCamera(Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
camera.setToOrtho(false, 32, 32); //Virtual dimensiones
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
//batch.begin();
//batch.draw(img, 0, 0);
//batch.end();
camera.update();
bachTileMapRender.setView(camera);
bachTileMapRender.render(background);
System.out.println("fps:"+Gdx.graphics.getFramesPerSecond());
}
}
320×320幀速率大約是60,但是爬上了窗口,或使用800×600迅速下降
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.width = 320;
config.height = 320;
new LwjglApplication(new MyGdxGame(), config);
}
} PD:這是值得我的電腦是雙核3000,在debian linux中
untitled.tmx
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" width="32" height="32" tilewidth="32" tileheight="32">
<tileset firstgid="1" name="prueba" tilewidth="32" tileheight="32">
<image source="title.png" width="384" height="128"/>
</tileset>
<layer name="Capa de Patrones 1" width="32" height="32">
<data encoding="base64" compression="zlib">
eJztwwEJAAAMBKHr8f17rsdQcNVUVVXV1w8ar2wB
</data>
</layer>
</map>
你確定它只是在你改變分辨率下降嗎?難道這是因爲320 * 320具有不同的縱橫比然後是800 * 600的縮放/拉伸? – Madmenyo 2014-09-22 11:19:45
感謝您的回答,如果我更改了類DesktopLauncher config.width = 320; config.height = 320; 發生800 x 600或更高分辨率 – 2014-09-22 11:25:32
奇怪,如果將其更改爲800x800,該怎麼辦?如果這仍然運行良好,它必須與伸展有關,因爲您將相機設置爲800x800。另外爲什麼你將orthocamera.x設置爲false?你應該使用camera.setToOrtho(800,800,false); – Madmenyo 2014-09-22 11:28:11