Repository navigation
games/NXDoom: memory improvements - #3860
Merged
Merged
Conversation
Moves optimization options under the "Optimizations" header for correct organization. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Allow the user to choose which memory allocation implementation is used for DOOM. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
The `z_zone` implementation now allows for a static array to back the memory allocator for devices where heap allocation isn't feasible. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
linguini1
requested review from
acassis,
cederom,
jerpelea and
xiaoxiang781216
October 17, 2026 12:50
Re-organize Kconfig options into sub-menus for logical separation between items/better readability in the menu. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Allows disabling the wipe animation which has expensive `z_alloc` calls. Currently causes the player to be unable to move. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Remove incorrect docstring return statement description left from copy-paste. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Allow debug options to be enabled/disabled for NXDoom to aid in the optimization process. Currently adds memory allocator profiling. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Allow user to disable the disk icon on data loading, which saves on memory allocations. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
linguini1
force-pushed
the
doom-memory-improvements
branch
from
October 17, 2026 16:28
bc10ca3 to
46c2f23
Compare
xiaoxiang781216
previously approved these changes
Oct 17, 2026
The status bar can now have its backing render target be statically allocated if the user has chosen static rendering targets. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
linguini1
force-pushed
the
doom-memory-improvements
branch
from
October 18, 2026 11:11
46c2f23 to
8da944b
Compare
|
Tested on a Spresense (cxd56xx, 1.5 MB RAM, ILI9340 used as a frame buffer), with this PR applied and I had opened #3870 with an option of the same name, so I am closing it in favour of this PR. Related: #3869 (keys from a serial terminal, which I will rebase onto your Kconfig split once this lands) and apache/nuttx#20774 ( |
This was referenced Oct 18, 2026
xiaoxiang781216
approved these changes
Oct 18, 2026
acassis
approved these changes
Oct 18, 2026
Contributor
|
@linguini1 nice optimization |
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.
Summary
This PR includes several changes to the NXDoom application to improve its dynamic memory usage. It also has some miscellaneous changes to the Kconfig menu organization, and then some
nxstylefixes now that the style checking tool has been updated.z_nativeandz_zoneallocators; previously it was justz_nativeNOTE: I also documented the optimization sub-menu in another PR to the docs, and mentioned where to find smaller 'squashware' WAD files since they significantly reduce dynamic allocation.
apache/nuttx#20714
Impact
Testing
Tested using
sim:nxdoomto verify that the game was still just as playable as before the changes.