Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [Manta] Re: manta


Chronological Thread 
  • From: Thiago Ize <thiago@cs.utah.edu>
  • To: Brian Budge <brian.budge@gmail.com>
  • Cc: Ingo Wald <ingowald@gmail.com>, "manta@sci.utah.edu" <manta@sci.utah.edu>
  • Subject: Re: [Manta] Re: manta
  • Date: Mon, 24 Dec 2007 15:03:10 -0700

The following:
bin/manta -scene "lib/libscene_triangleSceneViewer.dylib(-DynBVH -model /Users/thiago/data/models/happy_vrip.ply -triangleType Wald_tri)" -imagetraverser "tiled (-square )" -camera "pinhole( -eye 0.00671022 0.145579 0.191262 -lookat -0.00543931 0.148768 -0.00668995 -up -0.0247273 0.999539 0.0176212 -hfov 60 -vfov 60 -normalizeRays -createCornerRays)" -res 1280x720

Gives me 3fps on my 2.1GHz core 2 duo. That's the standard 1M tri buddha (if you're usng linux, you'll need to change .dylib to .so). In order to get a more direct comparison to published DynBVH results, you need to run ccmake and set MANTA_USE_DYNBVH_APPROXIMATE to OFF (this uses a slower but better build and gives 3.4fps) and MANTA_USE_DYNBVH_PORTS to ON (ports is a direct port from the code used for our papers, but it's buggy in manta if you start doing secondary rays). With these changes I get 4.8fps.

A quick way to check if you have sse enabled is to run ccmake and check if MANTA_SSE is on. Also, are you running the code in Release mode? When you compile with make VERBOSE=1 check to see whether you see all the optimization flags as well as the MANTA_SSE define being sent to the compiler.

Also, running bin/manta with no options (all default) gives almost 20fps on my system.

Oh one final thing. I believe there is a bug in DynBVH that is keeping it from displaying shadows (do you see shadows?) That would also help explain a little why the kdtree is slower (I'm getting 1fps with 64 rays and 1.6 with 16 rays per packet, but a least it's actually doing shadows). You can disable shadows by adding -shadows noshadows

Thiago

Brian Budge wrote:
Hi all -
The timings I listed were only ray casting + simple shading based on the normal (At least I'm assuming that's the reason for the green and purple hues).
I was running with a single ray tracing thread on my Sony Vaio laptop, which has a Core2 Duo 7200.
I noticed the timings in the paper were for 512x512 images and I was running 1280x720, so that may be part of the discrepancy. Maybe somehow the optimal packet sizes aren't being used?
The buddha scene I listed before isn't the one in the Stanford repository. I can try some tests with that one (standard 1M scene):

DynBVH: 0.3 seconds/frame at 512x512, 0.7 seconds/frame at 1280x720
Manta KD: 1.5 seconds/frame at 512x512, 2.6 seconds/frame at 1280x720
My KD: 0.55 seconds/frame at 512x512, 1.5 seconds/frame at 1280x720

I still think I may not have SSE packets working properly for Manta. How can I check that it is working properly? BTW, these measurements are very eye-point dependent. For example with the DynBVH looking down at the Buddha head I get over 10 frames per second, but facing from the front I get 3 fps.

Merry Xmas!
  Brian



On Dec 23, 2007 10:34 PM, Ingo Wald <ingowald@gmail.com <mailto:ingowald@gmail.com>> wrote:

    Given that it takes 1+ sec / frame, that strongly suggests that either
    something very, very weird is going on here, or that Brian indeed
    uses
    multiple secondary rays. In that case I'd not be surprised if
    performance tanks; we've never played around with that, and many
    optimizations might actually be disabled for secondary rays, anyway
    (@brian: at least in the original dynrt codebase, only certain
    types of
    rays actually used all the optimization techniques -- I'm not sure
    what
    has been added since that code has been pulled over into manta).

    Merry Christmas ;-)

    Ingo

    Thiago Ize wrote:
    > Brian,
    > Are you using manta for shooting just primary rays or are you
    doing a
    > full blown path tracer? If it's a path tracer with lots of bounces,
    > then I wouldn't be at all surprised that your single ray
    acceleration
    > structure would perform better since it wouldn't have all the
    overhead
    > inherent in the DynBVH and KDTree acceleration structures which are
    > currently only designed for packets. If you are just raycasting,
    then
    > something is very wrong, since you're at least an order of magnitude
    > too slow.
    >
    > Thiago
    >
    > PS: Why are you not using the standard 1M tri buddha?
    >
    > Brian Budge wrote:
    >> Hi Ingo -
    >>
    >> I just ran a couple of experiments through again.  It looks as
    though
    >> the DynBVH is definitely faster than both kd-tree implementations.
    >> Running the 1.5 million triangle buddha scene, I get the following
    >> timings (at 1280x720):
    >>
    >> DynBVH: 1.1 seconds/frame
    >> Manta KD: 1.7 seconds/frame
    >> My KD: 1.4 seconds/frame
    >>
    >> I'm a total Manta newbie, so it may be possible that I don't have
    >> packet tracing turned on somehow?  I think it's on by default?
    >>
    >> I guess there is an untold story here too.  If I run smaller
    scenes
    >> (say 7,500 triangles), the timings are quite a bit different:
    >>
    >> DynBVH: 0.33 seconds/frame
    >> Manta KD: 0.3 seconds/frame
    >> My KD: 1.2 seconds/frame
    >>
    >> I can't say I understand this too well, but I would venture a
    guess
    >> that the packets stay coherent much longer with the smaller scene.
    >> Either that or I am doing something stupid with small scenes that
    >> doesn't show up with larger scenes.
    >>
    >> Any insights?
    >>
    >> BTW, I am using a simple traversal scheme very similar to the
    one in
    >> your thesis.
    >>
    >> Thanks,
    >>   Brian
    >>
    >> On Dec 23, 2007 1:12 AM, Ingo Wald < ingowald@gmail.com
    <mailto:ingowald@gmail.com>
    >> <mailto:ingowald@gmail.com ;<mailto:ingowald@gmail.com>>> wrote:
    >>
    >>
    >>     >
    >>     >     > for the viewer?  My own kd-tree ray tracer without
    sse is
    >>     about the
    >>     >     > same
    >>     >     > speed as tte DynBVH that you guys have, but I would
    guess
    >>     that your
    >>     >     > kd-tree
    >>     >     > is a good deal faster.
    >>     >
    >>     Hi Brian,
    >>
    >>     I actually doubt it is ;-).
    >>     I've written the SSE'd kd-tree traverser and kd-SAH builder
    >> (assuming
    >>     the  one in manta is the one I wrote for Thiago's project...),
    >> but it
    >>     certainly isn't faster than DynBVH (how could it !?).
    >>     I'm also a bit surprised that your _single-ray_ kd-tree is as
    >> fast as
    >>     DynBVH, which would be _very_ strange indeed (in theory,
    "perf(SSE
    >>     packet/frustum kd-tree) > perf(single-ray kd-tree)" and
    >>     "perf(dynbvh) >
    >>     perf(SSE kd-tree)", so your message confuses me a bit.
    >>
    >>     Can you elaborate a bit on
    >>     a) what traverser you actually use, and
    >>     b) what performance you're getting with dynbvh ? anything close
    >> to the
    >>     numbers we reported in the paper ?
    >>
    >>     Ingo
    >>
    >>
    >
    >








Archive powered by MHonArc 2.6.16.

Top of page