如何有效地呈现瓷砖地图?

我正在使用此代码加载由1000×1000 32×32像素组成的平铺地图:

map = new TmxMapLoader().load("levels/xyz.tmx"); camera = new OrthographicCamera(); camera.setToOrtho(false, Constants.WORLD_WINDOW_SIZE.x / 32, Constants.WORLD_WINDOW_SIZE.y / 32); renderer = new OrthogonalTiledMapRenderer(map, 1 / 32f); renderer.getSpriteBatch().disableBlending(); renderer.setView(camera); 

而这个渲染代码:

 camera.update(); renderer.setView(camera); renderer.render(); 

但是,我有巨大的性能问题。 我怎样才能优化这个代码? 将分割地图在多个子地图帮助吗?

问候,TM3P

    除了上面链接中讨论的技术之外,还要考虑帧分层。 在我的游戏引擎中(板子是32×2像素的750 x 450格),我将三倍缓冲区显示成地图,单位和高光。 在每个Paint循环中:

    • 只有当视图已经平移或缩放时,MapBuffer才会被重新绘制;
    • UnitBuffer从MapBuffer刷新,并且只有当一个或多个单元移动时才重新绘制单位。
    • HighlightBuffer从UnitBuffer刷新并重新刷新; 和
    • HighightBuffer被画到屏幕上。