![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I just noticed a thing that worried me a bit.
I made a regular mesh object made of over 100000 smooth triangles (just
official povray style, no textures, no uv-coordinates, nothing special) and
then copied it over 250 times on the scene. Then I rendered it at 1024x768
with 3 light sources and antialiasing 0.1.
POV-Ray 3.1g for Windows took less than 8 minutes to render the scene.
MegaPov 0.6a for Windows took more than 13 minutes to render the scene.
(I'm using a P-II 350MHz.)
Why is MegaPov so much slower than the official povray?
I would really like if regular meshes (with no special MegaPov features)
rendered in MegaPov as fast as in pov3.1.
After all, meshes are an essential part of rendering. Thus, rendering speed
is quite vital.
(Yes, this really happens with meshes. I tested with other objects and
MegaPov is as fast, and sometimes even faster than pov3.1.)
--
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nicolas Calimet
Subject: Re: Meshes render a lot slower in MegaPov?
Date: 5 Mar 2001 10:04:42
Message: <3AA3BB9C.6C34EB03@free.fr>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> POV-Ray 3.1g for Windows took less than 8 minutes to render the scene.
> MegaPov 0.6a for Windows took more than 13 minutes to render the scene.
Hi Warp,
Needless to ask whether you compiled the different versions with
the same optimisation flags... Do you use gcc on your Sun devices ? Maybe
it's cc instead.
Anyway, the difference between official POV and Mega are probably
due to the enhanced support for all the stuffs you mentionned. In any
case it requires at least a few tests more per ray (including light rays,
shadows rays and co). You probably know better than me that 'if's are not
the best optimized instructions - if conditional branching can even be
optimized. There might be a lot of those things especially in texture
handling. Must be checked.
However I'm not sure this is the real cause of slowing down your
rendering. Such a difference seems to involve more drastic things. Just
in case, did you rendered without display and file output ?
*** Nicolas Calimet
*** http://pov4grasp.free.fr
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Christoph Hormann
Subject: Re: Meshes render a lot slower in MegaPov?
Date: 5 Mar 2001 10:16:09
Message: <3AA3ADB9.5A6CBAC3@gmx.de>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Calimet wrote:
> [...]
> Anyway, the difference between official POV and Mega are probably
> due to the enhanced support for all the stuffs you mentionned. In any
> case it requires at least a few tests more per ray (including light rays,
> shadows rays and co). You probably know better than me that 'if's are not
> the best optimized instructions - if conditional branching can even be
> optimized. There might be a lot of those things especially in texture
> handling. Must be checked.
You could try deactivating all patches in frame.h, of course that will not
necessarily help sinece there are also a lot of other changes in megapov,
but if it's much faster without, things are obvious.
Christoph
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Calimet <pov### [at] free fr> wrote:
: Needless to ask whether you compiled the different versions with
: the same optimisation flags...
If you read my article again you'll see that I used the Windows version in
both cases. The official 3.1 was the MSVC compile and AFAIR the MegaPov version
was it as well (it's the one downloadable at Nathan's site).
You'll also see that, as I said, there's not noticeable speed difference
when rendering other objects. In some cases MegaPov is even faster than
the official pov.
: Do you use gcc on your Sun devices?
Yes, but that's irrelevant here since I tested this in Windows with the
Windows compiles of both versions.
: Anyway, the difference between official POV and Mega are probably
: due to the enhanced support for all the stuffs you mentionned. In any
: case it requires at least a few tests more per ray (including light rays,
: shadows rays and co).
I know that. What I want is that if there are no special extra features
used, then no extra work is done because of them. That is, if no extra
features are used, then it should render with the same speed as pov3.1.
I don't like the idea of having a 80% slower render time because there
are extra features which I could use but I don't. It's ok if the render is
slower when I use the extra features, but I don't like them slowing down the
render even when I don't use them.
: However I'm not sure this is the real cause of slowing down your
: rendering. Such a difference seems to involve more drastic things. Just
: in case, did you rendered without display and file output ?
The rendering conditions were identical in both cases, so those things
should not matter.
A difference of about 5% to 10% could be understandable, but a difference
of about 80% is not.
--
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nicolas Calimet
Subject: Re: Meshes render a lot slower in MegaPov?
Date: 7 Mar 2001 09:50:19
Message: <3AA65B31.68D5DC96@free.fr>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> If you read my article again you'll see that I used the Windows version in
> both cases.
Yes. Sorry for that I might be tired and didn't notice this fact even
in the two lines I copied from your message. It's just that I remembered you
usually talk about Sun machines, so...
> The official 3.1 was the MSVC compile and AFAIR the MegaPov version
> was it as well (it's the one downloadable at Nathan's site).
Okay, but there you're not sure. Maybe it's not from the same compiler,
and a few threads ago showed the importance of compiler + options in unofficial
windows compile. Such speed difference is maybe that, maybe not.
> You'll also see that, as I said, there's not noticeable speed difference
> when rendering other objects. In some cases MegaPov is even faster than
> the official pov.
So it should not be a problem with compiler options. Oki-doki.
> : Do you use gcc on your Sun devices?
> Yes, but that's irrelevant here since I tested this in Windows with the
> Windows compiles of both versions.
Personnaly I would try on another platform, using gcc/cc just to be
sure if it's not related to windoze stuff. I suspect I'll get the same
results, but who knows ? Also, as suggested in the other reply, maybe just
to cancel any patch and recompile. No time to try on my side for now.
Only one thing. I did extensive tests with Pov3.1g/MegaPOV0.6a/my patch
on meshes without any critical differences [Unix/Linux machines]. Actually
rendering time were almost the same. But they were not good-old-plain-color
meshes.
> I know that. What I want is that if there are no special extra features
> used, then no extra work is done because of them. That is, if no extra
> features are used, then it should render with the same speed as pov3.1.
Yes, but a few tests more might exist, e.g. ((UVmapping) ? No) that
is never done in Pov3.1g. I agree this cannot produce such a difference,
so there must be a real problem somewhere.
*** Nicolas Calimet
*** http://pov4grasp.free.fr
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Calimet <pov### [at] free fr> wrote:
: Personnaly I would try on another platform, using gcc/cc just to be
: sure if it's not related to windoze stuff.
That's actually a good idea. I'll test it when I have the time.
--
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |