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.

Reply via email to