On Fri, Feb 15, 2008 at 10:51 AM, Jean-Paul Calderone <exarkun@divmod.com> wrote:
On Fri, 15 Feb 2008 10:31:14 -0500, Bernie Roehl <broehl@gmail.com> wrote:
>As an experiment, I tried switching to using a coiterator.  I got a 30%
>increase in framerate!

Hmmm. :)

Hmmm indeed!
 
There shouldn't really be any performance difference between using
coiterate and using LoopingCall.  The significant behavioral difference
is that coiterate will call your code (RendererIterator.next in this
case) as fast as it can (with some constraints).  LoopingCall will call
your code no faster than you specify.

So my guess is that the 30% increase in FPS is because your system is
capable of doing that much additional work above what you asked to do
when you used LoopingCall.  If you make a corresponding decrease in the
interval you use with LoopingCall, do you not see any increase in FPS?

Well, I was using

            renderTask = task.LoopingCall(renderFrame)
            renderTask.start(0.01, False)

If I change the 0.01 to 0.0, I do indeed get a framerate comparable to using the coiterator methord.

I wouldn't have thought that waiting ten milliseconds between calls would make such a substantial difference.

--
Bernie Roehl
Mail: broehl@gmail.com