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 ImagesSize
s.
Now, how to go about setting/resetting the value of HardwareAntialiasingQuality
programmatically?