perf(relief): upload the color-relief DEM texture once per tile instead of every frame (#8209)
renderColorRelief called demTexture.update() unconditionally for every visible tile on every frame - a full RGBA re-upload of pixels that never change between a tile's (re)load and a neighbor backfilling its border. A viewport of DEM tiles panned at 60 fps re-uploaded hundreds of MB/s for nothing, which is most visible on bandwidth-poor devices and Safari. The upload now sits behind a needsColorReliefPrepare flag on the tile, set exactly where needsHillshadePrepare and needsTerrainPrepare already are and checked the way terrain checks its own; hillshade and terrain both guard their uploads of this same texture, color-relief was the only per-frame caller. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
S
Samuel committed
23703cb2e62fa72d6ae9eb950dc5da9c1e5e6782
Parent: 6a817c0
Committed by GitHub <noreply@github.com>
on 8/23/2026, 11:50:32 AM