Skip to content

Rendering modernization - #232

Merged
Dream-Master merged 4 commits into
masterfrom
rendering-modernization
Oct 25, 2026
Merged

Dream-Master merged 4 commits into
masterfrom
rendering-modernization

Conversation

@mitchej123

@mitchej123 mitchej123 commented Oct 25, 2026 •

Copy link
Copy Markdown

Optimize OC screen, hologram, robot, and machine rendering

  • Less CPU and fewer allocations.
  • Stop using display lists and FFP and use modern cached meshes and shaders
Per frame, master -> this PR OpenGL SDL-GPU (Metal)
Share of client time spent in OC 30.1% -> 2.2% 35.8% -> 2.5%
Memory allocated 56 KB -> 7 KB 52 KB -> 6 KB
Client CPU time 0.74 ms -> 0.46 ms 0.38 ms -> 0.24 ms

Checklist

  • I have tested this PR in DevEnv
  • I have tested this PR in Fullpack
  • This PR is in compliance with the GTNH AI Policy
  • This PR requires another PR in order to merge

* Overlays, robots, holograms, screen text, GUI screen borders and manual images draw from cached meshes
* Adapter, disassembler and net splitter overlays render with the chunk instead of every frame
* Use native shaders on modern OpenGL contexts instead of fixed-function emulation
* Remove the legacy texture font option; the hex font has been the default since 1.3.2
* Screens draw their text in one pass instead of character by character every frame
* Only the lines that change are re-sent to the GPU
* Machine status lights, robots and holograms render through Angelica's batching
* Holograms need Angelica 2.2.36 or newer
* Reuse upgrade mount state per render depth instead of rebuilding collections
* Check the April 1 date once a minute instead of every frame

@Algent Algent left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@Dream-Master
Dream-Master merged commit bdb19f4 into master Oct 25, 2026
3 checks passed
@Dream-Master
Dream-Master deleted the rendering-modernization branch October 25, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants