POV-ray
Pages: 1 2
Ian Beagrie (1408) 7 posts |
Refering to Kuemmel’s post (1/12/2011) in "Announcements / PIK – Pandaboard … ", I was interested to see a compiled version of the ray tracer program POVray mentioned, (by Chris Gransden). Which version of POVray was compiled? Is this available for download for BBxM? Render time comparisons of teapot.pov scene file at 1024×768 a0.3 : Pentium 3.2GHz Vista POV3.6.1 (Ian) 32 sec |
Kuemmel (439) 384 posts |
I can’t access my BB/PB for a week, but I think it was version 3.6.1. One thing is that the BB/PB can be much faster, but the gcc isn’t yet be able to compile to the fastest version for these CPU’s, as written in other posts. On the other hand there are multi-core versions running (later than 3.6.1) of course much faster on multi-core platforms, what Risc OS can’t do by now. |
Jan Rinze (235) 368 posts |
Was POVray built with hardfloat? that might get some performance boost there too. |
Kuemmel (439) 384 posts |
No, according to Chris, ‘softfp’ was used for the Risc OS version. Until now he was not able to use the ‘hard’ option, may be it’s not even implemented. As seen in other posts it would give quite a push, especially to povray. But people should not mistake softfp, as it would use only software fp emulation. It’s hardware fp, but with ‘slow’ calling conventions. I hope Chris or somebody else finds a way so that the ‘hard’ option can be used some time in the future. |
Keith Dunlop (214) 162 posts |
Yet Chris built a version of the LAME encoder using the hard fp… The tests I have run here show it makes a big difference. What is the issue? Could we have a little more detail please? |
Chris Gransden (337) 1207 posts |
Although built to use hardware floating point it’s using ‘abi=softfp’. It would be much faster if it was using ‘abi=hardfp’. The issue is that it is not yet possible to produce executables using ‘abi=hardfp’. |
Chris Gransden (337) 1207 posts |
Here’s some more comparisons of the render time for teapot.pov at ‘1024×768 +a0.3’ using POVray 3.6.1. The fpa/softfloat version can be downloaded from here. Pandaboard ES (1500Mhz neon/vfp) 15 secs Pandaboard ES (1200Mhz neon/vfp) 18 secs Beagleboard xM (800MHz neon/vfp) 113 secs RPCSA RO 4.02 (233MHz fpa/softfloat) 2003 secs |
Jeffrey Lee (213) 6048 posts |
That’s a pretty impressive performance gain for the VFP/NEON version on the Pandaboard. Do you know what kind of math its using? (single precision floats, double precision floats, or NEON) |
Chris Gransden (337) 1207 posts |
I believe it’s nearly all double precision floats. I assume that’s why there’s such a large performance gain. |
Kuemmel (439) 384 posts |
I’m also pretty sure it’s double precision floats…I found some statement on the povray website → “…while POV-Ray needs (yes, it needs) double precision numbers. Single precision is not enough (this has been tested in practice)” That would fit to my findings regarding the results for the Mandelbrot VFP. The A9’s VFP unit is just so much faster than the one of the A8. |
Chris Evans (457) 1614 posts |
The difference in speed using neon/vfp between the PandaBoard & Beagleboard is considerably more than the difference in clock speed, doesn’t the Beagleboard support double precision floats? |
Chris Gransden (337) 1207 posts |
There’s an explanation of the difference between Cortex-a8 (Beagleboard) and Cortex-a9 (Pandaboard) here.
I believe the R-Pi has VFPv2 but no NEON. |
Jeffrey Lee (213) 6048 posts |
There are quite a few different variants of VFP (and NEON). The two you’re most likely to find in RISC OS machines are:
TL;DR version:
|
Chris Evans (457) 1614 posts |
Thanks for a very full explanation. |
Ian Beagrie (1408) 7 posts |
Re 13/3/2012: Impressive figures. I downloaded the fpa/softfloat version from the link provided plus updated my shared unix library to ver 1.11. Unfortunately I get a “No writable memory at this address” message come up when ever the povray absolute file is run/called. Could it be the OS on my BBxM also needs to be changed from 5.17 to 5.18? |
Chris Johnson (125) 825 posts |
This often means the value of the Next slot is too small. Try increasing Next in the task manager. |
Ian Beagrie (1408) 7 posts |
Thanks Chris, bumped up WimpSlot -max from 2000k (for povray 3.1g) to 4000k (!) for the 3.6.1-1 version. Now getting cannot-find-file type errors. Making progress. |
Chris Gransden (337) 1207 posts |
There’s a problem with one of the paths pointing to the wrong place. As a workaround you can create a folder ‘povray-3/6’ inside the !POVRay folder and copy the ‘include’ folder into this. This should stop the file not found errors. |
Ian Beagrie (1408) 7 posts |
Thanks for you advise Chris G, however it did not seem to make any difference in my case. I am running OS 5.17, maybe that has something to do with it. I have managed to get POVray3.6.1-1 operational & this is what I did: Leaving the $.!Boot.Resources dir open, I double clicked on $.!Boot then clicked on Boot, then on Look at. Click-dragged !UnixHome onto the scrollable section of the Boot at startup window. This app’s full pathname should now appear in this location. If all is well click the Set icons for both this window & the parent, Boot sequence, window. After that I had only to create a generic obeyfile & ini-file to call & configure POVray then I was ready to go forth & render. As far as benchmarks go, here are some comparative times for teapot 1024×768 |
Matteo (1478) 105 posts |
where can i download pov-ray 3.6.1 for risc os open 5? |
Chris Gransden (337) 1207 posts |
You can get to all the download on riscos.info here. |
Bryan Hogan (339) 593 posts |
So according to those figures, a 1.2GHz Pandaboard using the Neon optimised version of POVray beats a 3.2GHz Pentium? OK, so its a bit of a specific case, but still rather nice :-) |
Matteo (1478) 105 posts |
i have installed the program but clicking over the icon dosent make anything. |
Chris Gransden (337) 1207 posts |
It’s command line only at the moment. Press ctrl-f12 and type povray. |
Matteo (1478) 105 posts |
it doesnt work it says no free mem or something similar. |
Pages: 1 2