This is an automated email from the ASF dual-hosted git repository.
xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new ee311e80621 docs/NXDoom: Document optimizations
ee311e80621 is described below
commit ee311e80621db7264237d4d52239c71334f9129e
Author: Matteo Golin <[email protected]>
AuthorDate: Sat Oct 17 06:35:02 2026 -0400
docs/NXDoom: Document optimizations
Moves optimization recommendations to TODO directives. Documents the
optimization sub-menu. Mentions squashware DOOM files that will reduce
memory/disk overhead.
Signed-off-by: Matteo Golin <[email protected]>
---
Documentation/applications/games/nxdoom/index.rst | 51 ++++++++++++++++-------
1 file changed, 35 insertions(+), 16 deletions(-)
diff --git a/Documentation/applications/games/nxdoom/index.rst
b/Documentation/applications/games/nxdoom/index.rst
index 1ea5272e42a..cdd44f478b5 100644
--- a/Documentation/applications/games/nxdoom/index.rst
+++ b/Documentation/applications/games/nxdoom/index.rst
@@ -165,19 +165,38 @@ code comments. Some are quite vulgar.
Optimizations
^^^^^^^^^^^^^
-DOOM uses 32-bit wide, signed fixed-point numbers for calculations. This should
-be entirely compatible with the NuttX fixed-point library. However, in my
-attempt to switch to the NuttX-native library, the textures began to render
-strangely and I experienced periodic crashes. This would be one good
-optimization.
-
-Another useful optimization would be to eliminate the lookup tables used for
-sine, cosine and tangent. These make the game logic fast, but they also take up
-the most amount of memory in the binary. Removing them could save several
-hundred KB. CPUs have come a long way since DOOM was written and the compute
hit
-might be worth it for the memory reduction on embedded.
-
-Another good optimization would be to examine the use of 32-bit natural ``int``
-variables and decided if smaller sizes could be used. I imagine this was
-originally done for the native word-size optimizations on the computers of the
-era, but it results in extra memory use on large internal arrays especially.
+Optimizations for NXDoom can be found under the "Optimizations" sub-menu. This
+can be tuned depending on the system you are running on and what features you'd
+like to maintain.
+
+Optimizations can also be made for the WAD file being used. A smaller WAD file
+is easier to get on your target device (if it does not have some kind of bulk
+media, for instance) and will also use less RAM. The ``DOOM1.wad`` has a
+**squashware edition** which reduces its size significantly (and even more
+reductions can be had if you include only 1 level or disable sound). You can
+find the squashware version in `this repository by 'fragglet'
+<https://github.com/fragglet/squashware>`_.
+
+.. todo::
+
+ DOOM uses 32-bit wide, signed fixed-point numbers for calculations. This
+ should be entirely compatible with the NuttX fixed-point library. However,
in
+ my attempt to switch to the NuttX-native library, the textures began to
+ render strangely and I experienced periodic crashes. This would be one good
+ optimization.
+
+.. todo::
+
+ Another useful optimization would be to eliminate the lookup tables used for
+ sine, cosine and tangent. These make the game logic fast, but they also take
+ up the most amount of memory in the binary. Removing them could save several
+ hundred KB. CPUs have come a long way since DOOM was written and the compute
+ hit might be worth it for the memory reduction on embedded.
+
+.. todo::
+
+ Another good optimization would be to examine the use of 32-bit natural
+ ``int`` variables and decided if smaller sizes could be used. I imagine this
+ was originally done for the native word-size optimizations on the computers
+ of the era, but it results in extra memory use on large internal arrays
+ especially.