Thks Cwright,
That sounds neat, I'll be giving that a shot next time for sure. I couldn't enjoy QC without KinemeCore! You'd think kind of think divide by zero or unreasonable iteration requests (based on memory) would be detected and handled by QC given how excellent XCode environment is supposed to be. Perhaps it's better in QC4. Javascript crashes are my fav of course.


I personally haven't had any problems with divide by zero (now, atan2 in Leopard, on the other hand... that's a crash) -- can you describe that some?

The problem with "unreasonable" iteration requests is, what exactly is unreasonable? is 10000? is 50? what about 3000001? I will say that I wish iterators were smart enough to notice if they had no subpatches, and thus skip everything (once I made a mod to the iterator to do that, but then realized that it's 99% useless since no one's going to have an empty iterator sitting around doing a bunch of idle iterations), but even then it's doing extra checks for a case that isn't normal (empty iterators serve no purpose).

If you're doing non-realtime rendering with QC, you won't care if it takes a hour per frame (well, you could care, but it won't kill you).

Randomly halting iterations at some arbitrary limit would be annoying, especially if you're near the edge (sometimes it's fast enough to work, sometimes not).

The "correct" solution (wow, I sound like a comp. sci. professor) is to have all rendering/graph evaluation take place on a thread that doesn't also handle UI events -- then it can take all the time it wants, and the UI will still respond. Then you just have to deal with syncing with the render thread whenever the graph is changed (and you could flag the renderer thread as "stale" so it'll stop doing stuff -- this won't save you from infinite javascript loops, since webkit's javascript evaluation stopper isn't public, but from other stalls it can help you out).

I _think_ the initial Snow Leopard seed in 2008 actually had that set up (a bazillion iterations wouldn't freeze the UI), but it's not like that now in Snow Leopard -- either I'm mis-remembering, or it got reverted, or there were some other side effects that made it less than "correct".

--
[ christopher wright ]
[email protected]
http://kineme.net/

Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to