17 May 2013

418. POVRay 3.7 on four-eight cores is several orders of magnitudes slower than serial POVRay 3.6

For some reason I get very poor performance when using POVRay 3.7, which can run rendering in parallel. In contrast, POVRay 3.6 -- which is serial -- renders much, much faster.

I had a particular job with partially transparent objects (similar type of job as set up here: http://verahill.blogspot.com.au/2013/05/415-briefly-making-polyhedral-figure-in.html) took

  • 2h 25 min (8694 seconds) using POVRay 3.6 running in serial
  • Smallest Alloc: 9 bytes Largest Alloc: 131080 bytes Peak memory used: 20730898 bytes Total Scene Processing Times Parse Time: 0 hours 0 minutes 0 seconds (0 seconds) Photon Time: 0 hours 0 minutes 0 seconds (0 seconds) Render Time: 2 hours 24 minutes 54 seconds (8694 seconds) Total Time: 2 hours 24 minutes 54 seconds (8694 seconds)
  •  14 hours 5 minutes in POVRay 3.7 rc 7 running in parallel (openmp)
  • Render Time:
      Photon Time:      No photons
      Radiosity Time:   No radiosity
      Trace Time:      14 hours  5 minutes 42 seconds (50742.481 seconds)
                  using 4 thread(s) with 201478.244 CPU-seconds total
    POV-Ray finished
    

on a four-core i5-2400 with 16 Gb RAM.

POVRay 3.7 took 16 hours 45 minutes on an eight core AMD FX 8150 with 32 Gb RAM.
Render Time: Photon Time: No photons Radiosity Time: No radiosity Trace Time: 16 hours 45 minutes 34 seconds (60334.108 seconds) using 8 thread(s) with 472419.334 CPU-seconds total POV-Ray finished
I rendered with
povray_3.7 +H1000 +W1000 +A0.01 scene.pov

The general trend applies to povray 3.7-rc6 and whatever povray version I was using in Arch a month ago. It also applies to all linux boxes I've tried it on.

I built povray 3.6 and 3.7 as shown here: http://verahill.blogspot.com.au/2013/05/413-povray-37-rc7-on-debian-wheezy.html

Googling I really only found this: http://news.povray.org/povray.beta-test/thread/%3C455a0770@news.povray.org%3E/?ttop=349052&toff=450
which is from 2006.
First problem!
Version 3.7.0.beta16 was MUCH slower. Version 3.6.1c took 4m46s, while Version3.7.0.beta16 took 7m43s... that's 60% more! Is there a better build or should I be using some different options?
It was never addressed.

I don't know if the performance of 3.7 is worse then 3.6, or if there's some difference in settings that's slowing things down i.e. whether there's something which I'm doing wrong.

A general list over changes between 3.7 and 3,6 is found here: http://wiki.povray.org/content/Documentation:Tutorial_Section_1#Changes_and_New_Features_Summary
but there's nothing that stands out to me.

No comments:

Post a Comment