realbasic-games
[Top] [All Lists]

Re: fast, smooth updates

To: REALbasic Games <realbasic-games at lists dot realsoftware dot com>
Subject: Re: fast, smooth updates
From: Frank C <pox at planetquake dot com>
Date: Wed, 23 Jul 2003 16:14:46 -0400
On Wednesday, July 23, 2003, at 03:04  PM, Joseph J. Strout wrote:

At 1:52 PM -0400 7/23/03, Frank C wrote:

Well, no, we've discussed how you can choose when to yield to background tasks. You're just not satisfied with the result, because when you do yield, it (not surprisingly) causes a glitch in the framerate.

That's my point! You're yielding on RB's terms.

I'm not sure what that means. You're choosing when to yield. What more do you want?

 I can write a loop in C that yields just fine, without that hiccup.

That'd be because your C program isn't doing all the stuff that RB is doing (checking to see if timers need firing, servicing other threads, checking whether command-period has been pressed, etc.).

I can't claim to know what RB is doing in it's loop, but the fact that these stutters only appear in Carbon and that you've said RB uses a wait of 1 in Carbon leads me to the conclusion that the wait time is the problem. Try running my Mouse Events example in Carbon without the "busyThread" hack - RB's Carbon update cycle is pathetically slow - it should dispatch an event when it gets one, or move along quickly on null events (I haven't got a clue what's it's doing right now, other than blocking the app for no good reason).

Bottom line: I can do _plenty_ in a C event loop and still have a responsive system, fully responsive GUI, AND fast, smooth animation. I can't do that in RB. We keep analyzing, benchmarking, profiling and graphing the problem, but I think you're overlooking the obvious culprit; a sleepy WNE loop. I'll be quite happy to be proven wrong on this, as long as the real problem is addressed.

To tell you the truth, we've argued this point to death and I'm at the point were I could care less where the problem lies. If you guys can fix the issue, great, if you can't fix it, or won't to acknowledge that it _is_ an issue, just say so and I'll move on.

Frank.


---
A searchable archive of this list is available at:
<http://support.realsoftware.com/listarchives/search.php>

Unsubscribe or switch delivery mode:
<http://support.realsoftware.com/listmanager/>
.


<Prev in Thread] Current Thread [Next in Thread>