Re: [AD] Problem with screen shearing on MAC OS X

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Dear Kirk,

Thanks for choosing Allegro and thanks for choosing the Mac!

Allegro should support page flipping (i.e. show_video_bitmap) on OSX but it's only done for compatibility reasons as there's no hardware acceleration available for that operation. Triple buffering is not supported, you're right. 

Thanks for the detailed problem report. I have one further question - are you running full screen or windowed?

My gut feeling is that it might be to do with the combination of video bitmaps and sub-bitmaps.

Can you check the Allegro demo game? - at startup you can select the screen update mode. Do you still get tearing with the demo.

Technically, because OSX does its own offscreen buffering for windows, I think you'd actually get the best performance by doing acquire_screen(), draw directly onto the screen, and then release_screen(). That doesn't help with cross-platform compatibility though.

Let me know how you get on with the demo game, and if you can supply any code from your main loop that might help me to determine if you're doing anything 'odd'

Cheers,

Pete


> 
> From: Runesabre <runesabre@xxxxxxxxxx>
> Date: 2005/12/14 Wed AM 05:13:57 GMT
> To: alleg-developers@xxxxxxxxxx
> Subject: [AD] Problem with screen shearing on MAC OS X
> 
> Howdy,
> 
> I've chosen Allegro as my gaming library for a project
> I am building and I must say that Allegro has been
> quite a joy to work with.  It works in a predictable
> and robust fashion, the documentation is fabulous and
> the feature set includes everything I need.  Excellent
> work!
> 
> I currently have my project working on Windows and
> Linux.  Its a 2D client using a typical double
> buffering scheme (triple buffering if the hardware is
> capable).  
> 
> This weekend, I bought a Mac Mini and ported my
> project to MAC OS X 10.4.  The client works except
> there is massive screen shearing.
> 
> The general flow of the client is as follows:
> 
> - Startup: allocate video bitmaps for double/triple
> buffering and as well as allocate video bitmaps for
> all art assets.
>    a. Each video bitmap representing the screen is
> further subdivided into a UI portion and a game map
> portion using create_sub_bitmap.  The main graphics
> loop blits using the sub-bitmap of the main video
> bitmap that was allocated at startup.
> 
> - General Display Process:
>    a. blit art onto the current video bitmap not being
> displayed.
>    b. issue a show_video_bitmap()
> (request_video_bitmap if triple buffering but the MAC
> I have doesn't appear to support it)
>    c. assemble next frame into next video bitmap
>    d.  rinse and repeat.
> 
> I was really looking forward to having my project
> running on Mac so its been somewhat of a bittersweet
> occasion getting it to compile and execute but not in
> a presentable fashion.
> 
> If there is anyone that could suggest something I
> might be overlooking or quirks with Mac development
> and Allegro, I would greatly appreciate it.
> 
> Thanks a lot!
> Kirk Black
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
> -- 
> https://lists.sourceforge.net/lists/listinfo/alleg-developers
> 

-----------------------------------------
Email sent from www.ntlworld.com
Virus-checked using McAfee(R) Software 
Visit www.ntlworld.com/security for more information





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/