nml icon indicating copy to clipboard operation
nml copied to clipboard

Change: reduce register consumption for spritelayouts

Open glx22 opened this issue 2 years ago • 0 comments

Spritelayouts can consume a huge amount of registers, especially with stations as all the spritelayouts are merged into a single action 0.

https://gist.github.com/glx22/19446d63c287f050719c54cb099c4f8f is a station using 40 spritelayouts and requiring 136 registers (I had to increase the nml reserved range to make it compile). As can be seen in the "Station Layout@registers" varact2 most of the registers are set to the same values, that was not an issue for non station spritelayouts but it's a huge waste of registers for stations.

With this PR, a new register is used only for when it's really needed. https://gist.github.com/glx22/e749d7f074cb5eb53b4228fd8340e48a is the same station as in the previous gist, but it requires 8 registers only

glx22 avatar Sep 29 '23 13:09 glx22