realbasic-games
[Top] [All Lists]

Re: Animation Loops, Again! (Was: Water simulation)

To: REALbasic Games <realbasic-games at lists dot realsoftware dot com>
Subject: Re: Animation Loops, Again! (Was: Water simulation)
From: Jonathan Johnson <jonj at realsoftware dot com>
Date: Tue, 26 Apr 2005 17:17:29 -0500
Delivered-to: realbasic-games at lists dot realsoftware dot com
References: <44bad0f8165e7f8bdf0f8c7a0de0d264 at chaoticbox dot com>

On Apr 26, 2005, at 2:50 PM, Frank Condello wrote:

On 26-Apr-05, at 11:47 AM, Jonathan Johnson wrote:


On Apr 24, 2005, at 9:05 PM, Asher Dunn wrote:

lol, ok. It's fine on OSX,


Not quite. On OS X, it appears you're calling CheckEventQueueForUserCancel.


Why does that happen automatically in a tight loop? I think we've been over this before but I can't recall why this is still the case (not a big problem, just curious).

Actually, it doesn't if you put "#pragma BackgroundTasks false" or "#pragma DisableBackgroundTasks". As for why it does... well, I had a partial response but then realized that it doesn't need to, at least on Mac OS X. Feel free to file a feature request if you're interested in having that optimized.

That will prevent the SPOD from appearing, but it still makes your app behave unlike any other app when it's in windowed mode. You should use the thread on all platforms, which will prevent the OS from tagging your application as unresponsive. It won't slow your framerate down much, and you'll be a better citizen.


Unfortunately RB Threads make OpenGL views go whacky on Mac OS X (frame swaps don't always "take" - with very nasty results - this affects RB3D as well). This problem also got MUCH worse in a certain version of RB I'm not allowed to talk about here.

I've whipped up a project that will hopefully shed some light on this issue, and I've attached it to a bug report: <http:// www.realsoftware.com/feedback/viewreport.php?reportid=boxjgviz>. I consider this to be a very serious problem and hope you RS guys take it seriously too! I've eliminated all the causes suggested in the past (e.g. partial frames, lower framerates than a tight loop) and I've created a simple 3D scene that visualizes the problem to the point of being blatantly obvious.

I've also made the RB project publicly available here: <http:// www.chaoticbox.com/frametest.zip> so the rest of ya can see what I'm talking about and sign on if yer so inclined.

P.S. The project requires Quesa, and is Mac CFM Carbon only (I declare into AGL to prove a point).

That's fine. Shark is Mac OS X only anyways :)

Thanks for the report!
-Jon


--
Jonathan Johnson
REAL Software, Inc.

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

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

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