Re: Performer intersection problem (maybe?)

New Message Reply Date view Thread view Subject view Author view

Jim Helman (jimh++at++surreal)
Tue, 02 May 95 19:48:16 -0700


The dramatic increase in intersection time is probably caused by
floating point exceptions during the traversal. What's causing these
is another matter. Something is probably either corrupted in the
pfSegSet (or part of the traverser) or in the scene graph, such as a
bogus DCS matrix or something trashing the cached pfGeoSet triangle
caches. Since it takes *so* long, I'd probably guess something in
the traverser or segset.

If it the frame rate recovers, it could be some problem being caused
by a set of FP values you are specifying (singular matrix, etc.) or a
memory stomp of something which you're eventually causing to be
rewritten. But if it never recovers even when you restore all of the
scene graph state and make an identical intersection request, it's
probably a memory stomp deep down in something like the triangle
caches or some static Performer data such as the identity matrix.

The question is who's stomping whom. And that's often a tricky one
to answer. We've had no other reports of such things, so first I'd
check your code carefully for any possible stray writing. If not,
the it's time for debugging. Since the impact is felt inside
Performer, the only strategy I know is to keep twiddling things until
you can easily reproduce it and reduce it to a small test case. At
that point, we should be able to track the stomper down with a bit of
dbxing and searching.

rgds,

-jim helman

jimh++at++surreal.asd.sgi.com
415/390-1151


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:51:28 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.