Author Message

amilmand

00
Posts: 259

Location: ---
Occupation:
Age:
V$:
#136530   2018-02-01 06:42          
Yes there is (kind of.. this also has its limitations but: )
If you set the cfg_mem_texture_max and the cfg_mem_vertex_max to 0 (the essential meshes and textures wont get unloaded but what is not needed will immediately be unloaded (in one frame so this will cause a short freeze when called)) after one or two seconds (or on exiting the catalogue in your case) you should set it back to the original value though.
You can set these through the RawEdit.class from the SlrrExhasutiveBits (you will need the patched exe).
(If you have reshade you can set these in the reflectionsettings to try out the effect it has on memory)

There is one other interesting setting the cfg_mem_instance_max this is the "max" number of script instances to keep although this does not get cleared in one frame but will instead trickle down at a lower speed (100-200 in a second).

You have mentioned that you have a lot of rims in the catalogue this raises another problem which is if you load a script in game (a class file) by instantiating a class which is defined in said file the memory reserved for the class definition can not be cleaned up. This can be a problem as when you open a rim page all of the rims on that page (by page here I mean the size category (by default)) get loaded.

As I'm already at it (this isn't directly connected to your question but it's new knowledge for me perhaps somebody else will also find it useful as it is related to the "how to not crash slrr" topic);
Unkown(not present on the given address) rpk references in scripts or in the external references header in a rpk file will reserve a slot from the 255 max rpkslots in slrr.
This means if you have a car mod that tries to make the car compatible with a lot of engines by referencing the engines rpks, will always reserve an index for each rpk referenced regardless of the given engine-rpk being installed or not.
255 rpks seems a lot but if you consider that even if a script mentions an rpk with a reference in a function that never get run will still count towards the max this runs out sooner than expected.