Texture Discarded Due to Insufficent Memory
This error is followed by a number, which indicates how many textures have been discarded. Once it appears, you'll find that other textures will fail to rez in, and in many cases, shortly after the error message appears, you will crash out.
What Does It Mean?
This error tends to happen much more on the 32-bit versions of Firestorm, but is not totally unknown on 64-bit versions.
The message is fairly self explanatory; it means you have run out of available memory. Now some say, “But I have 16GB of RAM, isn't that enough?” Well, especially with 32 bit viewers, you won't be able to use all of that memory. Depending on your operating system, only 2 GB or 3 GB are available to the viewer.
Some also note that older versions of Firestorm never had this problem, that they never saw this message so it must be a new bug. It is correct that older versions didn't show this, but that doesn't mean that the problem didn't exist. Rather, no message was shown and you would simply crash. The addition of the message at least indicates what the problem is, and thus makes troubleshooting it easier: rather than trying a whole host of fixes which might be irrelevant, it is narrowed down to just a few.
How Do I Fix it?
This depends….
One-Off Problem
If you have been using Firestorm for some time, and only got this once, or rarely, then it probably happened because you were in a very graphics intensive location. The “fix” therefore is to lower draw distance before going to such places, and keep it low till you leave.
Be aware that the message, once it appears, will not simply go away; you will need to relog. This is advisable anyway as new textures will most probably fail to rez.
It Keeps Happening Over and Over
In that case, Firestorm is trying to use more memory than you have available (remember the 32 bit limitation mentioned above). You need to reduce memory usage. For example:
- If you have a 64-bit system and more than 4 GB of memory (RAM), you can try one of the 64-bit Firestorm versions. These are less subject to this kind of crashing.
- Preferences→ Graphics -> Hardware Settings→ Viewer Texture Memory Buffer - reduce by 128.
ie, if it is current at 512, reduce to 384; if it is at 384, reduce to 256; if at 256, reduce to 128.
Do not set below 128.
- Reduce your normal draw distance
- Preferences → Graphics → Hardware Settings → Enable OpenGL Vertex Buffer Objects - Disable this.
- Reduce your inventory size by boxing up items, clearing your trash and/or deleting old stuff. Also, do not open multiple inventory floaters unless you really have to.
- IMPORTANT: Do NOT do the following if you are using a 64 bit operating system!
If you don't have the Advanced menu enabled, enable it with Ctrl-Alt-D. Then, Advanced → Debug Settings. Type in FSDestroyGLTexturesImmediately and set to TRUE.
This is likely to use more bandwidth and mean textures that have previously loaded will go grey quickly when you look away, but it should reduce the frequency of crashes.