Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate high memory consumption #2

Open
thwill1000 opened this issue Jun 6, 2021 · 0 comments
Open

Investigate high memory consumption #2

thwill1000 opened this issue Jun 6, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@thwill1000
Copy link
Owner

If you start and immediately quit "Adventureland" then the memory usage is as follows:

> memory
Program:
 111K (21%) Program (3097 lines)
   1K ( 0%) 1 Embedded C Routine
 404K (79%) Free

Data:
 115K ( 2%) 138 Variables
   0K ( 0%) General
4717K (98%) Free

The program memory consumption is just about understandable, SAAINT has a lot of "gilding" and includes a high-proportion of 'splib' but probably only calls 50% of the functions therein.

However the data memory consumption is unexpected, the original adventure program + data would have taken up 16-32 KB max.

Possible causes:

  • global data from the menu-system not being cleaned up correctly.
  • oversized string arrays
  • ???
@thwill1000 thwill1000 added the enhancement New feature or request label Jun 6, 2021
thwill1000 added a commit that referenced this issue Jan 26, 2022
Tested and working for:
  #1 Adventureland
  #2 Pirate Adventure (BYTE Magazine)
  #3 Secret Mission
  #8 Pyramid of Doom
  The Great Blackberry Adventure

The biggest sticking point was the behaviour of the "small nomad"
in "Pyramid of Doom". This is because if a room is automatically
described when the player moves into it and also when its content
changes then the process of the nomad following the player around
causes rooms to be described twice, one with, and once without the
nomad.

Closes-Bug: #9, #10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant