Skip to main content
3 of 3
added 316 characters in body
Yves Klett
  • 15.5k
  • 5
  • 58
  • 125

Crash when displaying / rasterizing graphics with textures at high resolutions

CAUTION/Disclaimer: execution of some of the code below can result in a complete crash of Mathematica or even your system. Save all your work and do not try in a productive situation.

For a graphical application, I need to export graphics containing several hi-res textures at large image sizes.

Consider the following (minimal example) code wich is largely harmless:

Graphics[{Texture[Graphics[Circle[]]], 
  Polygon[{{0, 0}, {1, 0}, {1, 1}, {0, 1}}, 
   VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}, 
 ImageSize -> 400]

But upping ImageSize past a given (probably hardware-dependent, in my case ~4000) threshold will crash the frontend+kernel

Graphics[{Texture[Graphics[Circle[]]], 
  Polygon[{{0, 0}, {1, 0}, {1, 1}, {0, 1}}, 
   VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}, 
 ImageSize -> 4000]

To make things worse, this also seems to depend on the graphics driver version. I use a NVIDIA GTX 485M card, and with the 296.10 driver, I can go up to about ImageSize -> 8000 while with any newer driver version the system stalls at ImageSize -> 4000.

Does anyone know a workaround? Always reverting to an obsolete driver (which e.g. does not work with CUDALink anymore) is not optimal.

Addendum: Question, Part Two

As pointed out by @cormullion, setting the global preferences for the antialiasing quality in the Preferences dialog helps already a lot and allows much larger ImagesSizes.

Now, how to go about setting/resetting the value of HardwareAntialiasingQuality programmatically?

Yves Klett
  • 15.5k
  • 5
  • 58
  • 125