Merged
Conversation
Switch TerrainViewport to UPDATE_DISABLED and trigger UPDATE_ONCE only when terrain/viewport changes Auto-fallback to UPDATE_ALWAYS when debug overlay is enabled (or viewport_update_always is set) Debounce mipmap regeneration after changes and bind TerrainData change signals to request refresh
Disable viewport mipmap baking by default (avoids get_image() CPU readback); add bake_viewport_mipmaps opt-in Use UPDATE_DISABLED + UPDATE_ONCE for the terrain viewport, with automatic UPDATE_ALWAYS when debug overlay is enabled Refresh map on TerrainData change signals with a debounced update path
Set document SubViewports to UPDATE_DISABLED and switch to UPDATE_ONCE only when applying/refreshing textures Render MilSymbol generator viewport on-demand instead of UPDATE_ALWAYS to avoid idle cost Keeps existing debounce/page-change refresh flow; just avoids per-frame rendering
- Disable FaceRenderer updates by default - Use UPDATE_ONCE only while baking the face texture - Optionally queue_free FaceRenderer after bake (runtime)
When a document was dropped down using the ESC instead of mouse clicking, there was a lot of lagg. This commit fixes this issues
Add bake_viewport_mipmaps toggle (opt-in) Default to ViewportTexture + linear filtering Keep mipmap/aniso baking path when enabled
The solution is not the best since the graphics are still scaled down when making the window bigger but at least the lag is gone. Could fix the issue with these improvements: Use content-scale viewport render locking on resize Avoid supersampling when window is smaller Base adaptive MSAA on content render size
- Cache MilSymbol generated textures (bounded) - Cache UnitCounter baked face textures (bounded) - Skip duplicate bakes; keep free-after-bake behavior
- Add viewport_max_size_px and dynamic pixel scale - Scale canvas_transform + fix map/terrain mapping
- Set LCD viewport to UPDATE_DISABLED by default - Trigger UPDATE_ONCE when seconds/state changes
- Throttle transcript repagination with timer - Debounce SubViewport refresh after updates - Make HQTable transcript hooks non-blocking
- Auto-wire SimWorld contact_reported signal - Only enable scans when actor_path is set - Throttle scans + use squared distance checks
- Add fullscreen overlays for map + documents - Disable grain/CA/vignette/glow; boost sharpen - Force full-res while reading; restore after - Reduce paper/map glare; MSAA doc viewports
Tapawingo
approved these changes
Dec 14, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When merged this pull request will:
Issue ticket number and link
Optimize Performance #37
Checklist before requesting a review