Known Issues Windows

From SPEDAS Wiki
Jump to navigation Jump to search

Unable to allocate memory: to make array error - but there's plenty of memory available?

A fix for this problem is to modify the idlde.ini file located at:

C:\Program Files\Exelis\IDL85\bin\bin.x86_64\idlde.ini (64-bit IDL 8.5)

with the following:

- Xms512m

- Xmx16384m

The Xmx setting sets the maximum size of the memory allocation pool available to IDL, and Xms sets the initial size of the memory allocation pool available to IDL.

These settings - 512m and 16384m - are known to work on Windows 7, IDL 8.5 with 32GB of RAM; you may have to adjust the allocations for your specific machine. Note that setting the initial allocation to the same value as the maximum allocation will cause IDL to become very unstable and IDL probably won't run if the initial or maximum are above the total memory available on your machine.

For more information on these settings, see:

If you've made these changes and are still experiencing problems, be sure to check that the correct, 64-bit version of IDL is opening in the IDL console immediately after launch:

IDL Version 8.5.1, Microsoft Windows (Win32 x86_64 m64).

(c) 2015, Exelis Visual Information Solutions, Inc., a subsidiary of Harris Corporation.

Resolving graphics problems on Windows 10

The following issue has been resolved on Windows 10 with the latest updates from Microsoft (October 2018). We retain this information for older installations that may experience this problem.

If you experience any graphics problems on Windows 10, for example if the titles or labels are not visible in the plots because the font background color is not transparent any more, try the following:

  • Go into the IDL Preferences (IDL Workbench: Window->Preferences->IDL->Graphics) and change Graphics to Software Rendering. If this fixes the problem then it is likely an issue with an outdated graphics driver for your system, try to update the graphics driver.
  • If it doesn't fix the problem, try launching IDL in "Windows 8 Compatibility Mode" or something similar. To do that, right click on the IDL or SPEDAS executable file and select "Properties". Select "Compatibility" tab, check "Run the program in compatibility mode for:" and select "Windows 8" or "Windows 7". Click ok the apply the changes. Restart the program and then try your plot over again.

Graphics issues on high-resolution displays

For some combinations of high-resolution monitors and Windows display settings, you may notice that the IDL workbench, SPEDAS GUI, or tplot windows are very small, or have readable text but tiny icons, or GUI button labels or text fields may be cut off. This may be due to Windows automatically scaling up the font size on high resolution displays to keep the text readable, but since the GUI icons, buttons, labels, etc. are often rendered with fixed pixel sizes, the text scaling may result in undesirable layout or usability issues. SPEDAS 5.0 will address some of these issues, but even then, some of the icons will be tiny and difficult to use. If this is happening on your system, there is a way to fix it by changing some Windows compatibility settings for the IDL executable (which will also fix it for the SPEDAS GUI and tplot windows).

Open the folder where the IDL application (idlde.exe or idl.exe) lives, then right click on the executable to bring up "Properties", and go to the "Compatibility" tab. Then click on "Change High DPI settings". Check the checkbox for "Program DPI" (so the app will ignore the system settings), select "Use the DPI that's set for my main display when I open this program", and click the checkbox for "Override High DPI scaling behavior" and select "Scaling performed by: System". (See screenshots below.) After applying these settings, restart IDL. Under these settings, IDL operates as if the display were 96 DPI, and Windows then scales everything to the native display resolution, transparently to IDL and SPEDAS. This should fix any layout issues, cut off text, or tiny icons that occur when using the full resolution of the display.