This sounds pretty wild to me. Scanned through it quickly but I couldn't find any details on how they set this up. Do they use the CPU or the Cuda kernel on an A100 for Cycles? Also, if this is doing single frames an appreciable fraction of the 3.97s might go into firing up the renderer. Time-per-frame would drop off if rendering a sequence.
And the complexity scaling per triangle mentioned in a sibling comment. Ouch!
"Table 2 compares the timings on the four scenes in Figure 1 of our
unoptimized RenderFormer (pure PyTorch implementation without
DNN compilation, but with pre-caching of kernels) and Blender Cy-
cles with 4,096 samples per pixel (matching RenderFormer’s training
data) at 512 × 512 resolution on a single NVIDIA A100 GPU."This seems like an unfair comparison. It would be a lot more useful to know how long it would take Blender to also reach a 0.9526 Structural Similarity Index Measure to the training data. My guess is that with the de-noiser turned on, something like 128 samples would be enough, or maybe even less on some images. At that point on an A100 GPU Blender would be close, if not beating the times here for these scenes.
I don't think this conventional similarity matrix in the paper is all that important to them
I think they’ve inadvertently included Blender’s instantiation phase in the overall rendering time, while not including the transformer instantiation.
I’d be interested to see the time to render the second frame for each system. My hunch is that Blender would be a lot more performant.
I do think the papers results are fascinating in general, but there’s some nuance in the way they’ve configured and timed Blender.
Blenders benchmark database doesn't have any results for the A100, but even the newer H100 gets smoked by (relatively) cheap consumer hardware.
Nvidia H100 NVL - 5,597.13
GeForce RTX 3090 Ti - 5,604.69
Apple M3 Ultra (80C) - 7,319.21
GeForce RTX 4090 - 11,082.51
GeForce RTX 5090 - 15,022.02
RTX PRO 6000 Blackwell - 16,336.54In raytracing, error scale with the square root of sample count. While it is typical to use very high sample count for the reference, real world sample count for offline renderer is about 1-2 orders of magnitude lower than in this paper.
I call it disingenuous because it is very usual for a graphic paper to include a very high sample count reference image for quality comparison, but nobody ever do timing comparison with it.
Since the result is approximate, a fair comparison would be with other approximate rendering algorithm. Modern realtime path tracer + denoiser can render much more complex scenes on consumer GPU in less than 16ms.
That's "much more complex scenes" part is the crucial part. Using transformer mean quadratic scaling on both number of triangles and number of output pixels. I'm not up to date with the latest ML research, so maybe it is improved now? But I don't think it will ever beat O(log n_triangles) and O(n_pixels) theoretical scaling of a typical path tracer. (Practical scaling wrt pixel count is sub linear due to high coherency of adjacent pixels)
But yeah, no way RenderFormer in its current state can compete with modern ray tracing algorithms. Though the machine learning approach to rendering is still in its infancy.
This could possibly enable higher quality instant render previews for 3D designers in web or native apps using on-device transformer models.
Note the timings above were on an A100 with an unoptimized PyTorch version of the model. Obviously the average user's GPU is much less powerful, and for 3D designers it might be still powerful enough to see significant speedups over traditional rendering. Or for a web-based system it could even connect to A100s on the backend and stream the images to the browser.
Limitations are that it's not fully accurate especially as scene complexity scales, e.g. with shadows of complex shapes (plus I imagine particles or strands), so the final renders will probably still be done traditionally to avoid any of the nasty visual artifacts common in many AI-generated images/videos today. But who knows, it might be "good enough" and bring enough of a speed increase to justify use by big animation studios who need to render full movie-length previews to use for music, story review, etc etc.