jason|slab
hey
i've also found mantra to be slow on simple scenes, but yeah it doesn't take much longer on a slightly heavier scene.
one of the big issues i'm having is multi threading. My new work machine is a dual quad core, now the tests iv'e done on simple and heavy scenes, mantra slows down to a crawl if i use more than three cores.
rather odd, check out the rendering times on a meduim size scene below:
all threads 00:02:38:shock:
one thread 00:01:04
two threads 00:00:42
three threads 00:00:37
four threads 00:00:48
this was with micropolygon, iv'e tried raytracing to0, it pretty much comes out with the same result
running h 9.0.762 on windows 64
i also tested it on 9.0.759
jason
A couple of quick questions:
1) Are you measuring CPU time or wall-clock time?
2) Are you rendering to mplay or a disk file?
With quick renders, the bottleneck can often be I/O. I/O is performed in sequence, meaning only one thread can write to the output at one time. Other threads will spin while waiting for the I/O thread. Which might account for an increased CPU time, but shouldn't increase wall clock time.
However, your renders are around 40 seconds, so there shouldn't be that much I/O blocking. Unless there's an issue with sending the data to mplay.
When there are threading bottlenecks, CPU architecture can have a huge difference. Here are some wall clock timings on a very simple scene I tested on three different machines.
Bucket Size 64:
Core2Duo 1 Proc: 12.7s
Core2Duo 2 Proc: 11.2s
4x Xeon 1 Proc: 16s
4x Xeon 2 Proc: 13.85s
4x Xeon 4 Proc: 17.4s
2x Core2Duo 1 Proc: 8.12s
2x Core2Duo 2 Proc: 4.86s
2x Core2Duo 4 Proc: 3.95s
So, the Xeon had more issues with I/O than the Dual Core2Duo
Bucket Size 16:
Core2Duo 1 Proc: 6.45s
Core2Duo 2 Proc: 3.87s
4x Xeon 1 Proc: 11.75s
4x Xeon 2 Proc: 10.57s
4x Xeon 4 Proc: 14.49s
2x Core2Duo 1 Proc: 5.56s
2x Core2Duo 2 Proc: 3.3s
2x Core2Duo 4 Proc: 2.2s
In this case, decreasing the bucket size resulted in less contention for I/O. Render times doubled on the Core2Duo's and were significantly faster on the Xeons.
But, really, you want to be testing heavier scenes. Scenes where mantra does a lot of processing per tile, otherwise you're testing I/O performance…
Edit: Note, I just realized that the Xeon is hyperthreaded, which accounts for it getting slower with 4 threads.