Quartz Crystal - maximum render size

dimitre's picture

I've seen the max image size in my computer is 2048x2048, probably because of my videocard limitation. is it possible to render images bigger than this? if yes which dimensions? and hardware needed? Thank you

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

cwright's picture
Re: Quartz Crystal - maximum render size

image limits in QC come in 3 flavors:

  • OpenGL Texture size -- This is the largest image your GPU can use as a texture on a triangle/quad. Newish ATI & NVidia GPUs can handle 4k textures. This will limit render in image patches, if any are used.

  • OpenGL Destination dimensions -- this is the largest "screen" QC can render to (since it uses opengl to do all the rendering). This is usually much larger than the Texture Size limitation. On Intel GPUs, this is 2048x2048, so a single QC window can't fill 2 screens (1280 + 1280 > 2048). ATI and NVidia GPUs can handle 8kx8k destinations, apple's software renderer can handle 16kx16k. This limits maximum render size.

  • System memory limitations -- QC can also store images in system memory -- these are very slow, but can be larger than the above (when rendered, QC will automatically down-sample images that are too large). QC in 32-bit mode is limited to ~2GB of ram, so at 32bits per pixel you could have an image that's about 23k pixels across (sqrt(2GB/bytes_per_pixel)). In real-life you're usually limited to about 16kx16k (QuartzCrystal's upper limit is this size, btw). Vector Art (PDFs, AIs) can be much larger, since it doesn't store per-pixel information. Simpler images (monochrome, greyscale, YUV) will usually store a bit less per pixel, so they can be a bit larger. Since QuartzCrystal always uses software mode, everything is stored in system memory, and this becomes dangerously scarce (32bit is extremely limited).

But anyway -- QuartzCrystal always uses a software context, so GPU doesn't matter. It's always 32bit, so you can't work around the 2k limit. (We cap it at 2k because antialiasing will multiply that, and if we let users try to render to 16384x16384 with 64x antialiasing, it would require 64GB of ram just for the framebuffer (and a comparable amount for the depth buffer), which obviously wouldn't work, and then they'd whine at us for that too...).

How large do you need to render?

dimitre's picture
Re: Quartz Crystal - maximum render size

Thanks for the detailed answer. In fact I need something about 8000X8000 px, its 1m x 1m at 200dpi (they ask 300 but I know its technically not needed) no antialising needed in this case too.

cwright's picture
Re: Quartz Crystal - maximum render size

actually -- I just realized:

The CLI allows unrestricted width and height settings -- QuickTime doesn't seem to like anything larger than 2048x2048, but still images work up to 8192x8192 at least (just tested)

Here was the command I used: ./QuartzCrystalCLI -w 8192 -h 8192 -c public.jpeg ~/Desktop/randomGrid.qtz -o ~/Desktop/RandomGrid -f 1 -d 2 -vvvvvv

(you'll have to 'cd' to the directory where the CLI app is, which depends upon where you installed QuartzCrystal, since it's in its app bundle...)

dimitre's picture
Re: Quartz Crystal - maximum render size

Super Chris, thank you! now we have serious output http://dmtr.org/bird.png

cwright's picture
Re: Quartz Crystal - maximum render size

Holy cow, that might be the largest non-trivial QuartzCrystal render I've ever seen! :)

dimitre's picture
Re: Quartz Crystal - maximum render size

Indeed! It seems I'll have lots of fun in next days! some huge digital prints on fabric ;)

dimitre's picture
Re: Quartz Crystal - maximum render size

Perfect renders until 10000x10000 px Some pixels more than that and pixels get out of phase More than enough

gtoledo3's picture
Re: Quartz Crystal - maximum render size

Wow, that looks nice.