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

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.

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

Hi I know this is an old thread but it is my dream to render out some huge images from some of my Quartz Composer compositions. So given the limitations with QC anybody got any ideas what technologies I could use to render out a frame from a 3D scene I made in Quartz Composer @ 600ppi and 2 metres wide by 1 meter high? For a print on the wall this is not huge but just larger than most portraits.

I am hugely frustrated that I have this image stuck inside my composition. A curator has asked me to produce this at high resolution and quite big for an art competition. it would be great if this image could be rendered out "off line" so to speak bit by bit. I would not mind waiting for a few hours or even a week while it made the image file. The file size would only be 3.12Gb Am I just dreaming?