mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 12:21:52 +09:00
adaptive tilemap update rate
This commit is contained in:
@@ -286,6 +286,8 @@ class BasicDebugInfoWindow : UICanvas() {
|
|||||||
batch.draw(icons.get(0,0), gap + 7f*cxyX, line(cxyY))
|
batch.draw(icons.get(0,0), gap + 7f*cxyX, line(cxyY))
|
||||||
App.fontSmallNumbers.draw(batch, "X$ccG${WorldCamera.x.toString().padStart(7)}", gap + 7f*(cxyX + 3), line(cxyY))
|
App.fontSmallNumbers.draw(batch, "X$ccG${WorldCamera.x.toString().padStart(7)}", gap + 7f*(cxyX + 3), line(cxyY))
|
||||||
App.fontSmallNumbers.draw(batch, "Y$ccG${WorldCamera.y.toString().padStart(7)}", gap + 7f*(cxyX + 3), line(cxyY+1))
|
App.fontSmallNumbers.draw(batch, "Y$ccG${WorldCamera.y.toString().padStart(7)}", gap + 7f*(cxyX + 3), line(cxyY+1))
|
||||||
|
// App.fontSmallNumbers.draw(batch, "X$ccG${WorldCamera.deltaX.toString().padStart(7)}", gap + 7f*(cxyX + 3), line(cxyY))
|
||||||
|
// App.fontSmallNumbers.draw(batch, "Y$ccG${WorldCamera.deltaY.toString().padStart(7)}", gap + 7f*(cxyX + 3), line(cxyY+1))
|
||||||
|
|
||||||
|
|
||||||
// sun and weather
|
// sun and weather
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import net.torvald.terrarum.*
|
|||||||
import net.torvald.terrarum.App.measureDebugTime
|
import net.torvald.terrarum.App.measureDebugTime
|
||||||
import net.torvald.terrarum.App.printdbg
|
import net.torvald.terrarum.App.printdbg
|
||||||
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
||||||
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZEF
|
||||||
import net.torvald.terrarum.blockproperties.Block
|
import net.torvald.terrarum.blockproperties.Block
|
||||||
import net.torvald.terrarum.gamecontroller.KeyToggler
|
import net.torvald.terrarum.gamecontroller.KeyToggler
|
||||||
import net.torvald.terrarum.gameitems.ItemID
|
import net.torvald.terrarum.gameitems.ItemID
|
||||||
@@ -1177,8 +1178,8 @@ internal object BlocksDrawer {
|
|||||||
|
|
||||||
private val doTilemapUpdate: Boolean
|
private val doTilemapUpdate: Boolean
|
||||||
get() {
|
get() {
|
||||||
// TODO adaptive rate control via cam delta
|
val rate = ((2f * TILE_SIZEF) / maxOf(WorldCamera.deltaX.abs(), WorldCamera.deltaY.abs()).coerceAtLeast(1)).roundToInt().coerceIn(1, 4)
|
||||||
val rate = 4
|
// App.debugTimers.put("Renderer.tilemapUpdateDivider", rate.toLong())
|
||||||
return (!world.layerTerrain.ptrDestroyed && App.GLOBAL_RENDER_TIMER % rate == 0L)
|
return (!world.layerTerrain.ptrDestroyed && App.GLOBAL_RENDER_TIMER % rate == 0L)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user