Cage opened this issue on Dec 20, 2006 · 1232 posts
Cage posted Thu, 11 January 2007 at 2:27 PM
*"But you seem to be trying to hang on to / salvage a method that's causing you troubles."
I tend to perseverate with regard to an idea once I've started with it. It's one of my more frustrating traits, I'm afraid. My apologies. You may be right. It looks increasingly like some of my premises need to change in order to pursue this. But I haven't been able to fully test a few ideas which seem to me like they deserve testing before I completely change tracks.
*"Yeah, but isn't the memory leak due to trying to store lots of lists of data about the polygons/edges? It seems like you could just compute that info on the fly as you needed it."
It doesn't look like that's the problem. It may or may not contribute to the problem. I tested computing the polygon data on the fly, and ended up with both a massive slowdown and a memory leak. There are a couple of lists which can't be calculated on the fly. Unless they're the cause of the remaining leak, then the lists aren't really the root cause. Looking at svdl's Walk This Way, it looks like he's encountered the same basic memory issues without using anything like my lists, and he seems to have concluded that the problem is actually Poser. So it looks like the polygon method is beyond my skills - unless someone understands the memory problem (svdl is the only one I know to have encountered it, but he hasn't responded yet to my IM) and can explain it to me or I move away from PoserPython and its apparent limitations. That's a big change, and I'm not prepared to make it until I have a better grasp of what's happening. Hence, my frustration that the focus on the memory problems keeps being lost.
So the polygon issue is stalled due to memory issues. The vertex approach is probably inadequate, but I need to be sure of that by figuring out whether svdl's (apparent; it's rather ambiguous, really) suggestion in his latest post can prove useful to produce weighting using vertex-to-vertex comparisons.
It's uncertain whether shifting from the source geometry approach to a world vertex approach would rescue the polygon method from the memory issues. Walk This Way seems to use the world vertex methods, but it still leaks. Of course, it's also a very different script. The change in procedure would introduce a host of new complications and could remove any hope of avoiding the need to do a full geometry comparison for every morph target. I'm saving this change as a last resort, just short of leaving PoserPython. (Actually, leaving PoserPython is a very appealing idea. Poser isn't terribly friendly and its version of Python lacks many of the options of later Python versions and has more bugs....)
I really do appreciate everyone's help. I understand that forum threads tend to drift. But I'm trying to be focused and methodical. It's the way I have to work in order to compensate for my own limitations, which are legion. :-P Once again, this basic concept seems like it deserves a more qualified programmer.
===========================sigline======================================================
Cage can be an opinionated jerk who posts without thinking. He apologizes for this. He's honestly not trying to be a turkeyhead.
Cage had some freebies, compatible with Poser 11 and below. His Python scripts were saved at archive.org, along with the rest of the Morphography site, where they were hosted.