Xref: utzoo comp.sys.amiga.tech:13641 comp.sys.amiga.hardware:2802 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rutgers!att!cbnewsm!nsw From: nsw@cbnewsm.att.com (Neil Weinstock) Newsgroups: comp.sys.amiga.tech,comp.sys.amiga.hardware Subject: Re: Double Buffering and Intuition, and A3000 RAM Problems Message-ID: <1990Jul30.042945.28047@cbnewsm.att.com> Date: 30 Jul 90 04:29:45 GMT References: <25012.26ab200e@kuhub.cc.ukans.edu> <139460@sun.Eng.Sun.COM> Distribution: na Organization: The Flying Squid Patrol Lines: 42 In article <139460@sun.Eng.Sun.COM> cmcmanis@stpeter.Eng.Sun.COM (Chuck McManis) writes: >In article <25012.26ab200e@kuhub.cc.ukans.edu> markv@kuhub.cc.ukans.edu writes: >>1.) Is there an "approved", or failing that, a working way to double >> buffer and keep Intuition happy. I mean 'true' double buffering, >> where I am swapping bitmaps every frame. > >This comes up pretty frequently, to answer it you need to give some additional >information. That information is of the form : > Q) Do you want to be able to render Menus while the screen is flipping? > How about when either screen is showing? > Q) Do you need Gadgets to be refreshed while double buffering? [ ... ] >If you want to double buffer and >keep the menus working then no, you can really do it in any way that will >work reliably. In the general case I agree, but if you're willing to work with some restrictions, it's possible. Unfortunately, I haven't yet had a chance to test my code under 2.0, so I don't know how truly portable it is. The idea is to open an Intuition screen, then add a second playfield behind Intuition's back. You can then double buffer on the second playfield, (I used copper list flipping), while Intuition will merrily do your bidding on the first playfield. I have had 60 frames per second double-buffered animation running, while Intuition menus operated just fine on top. I setup my color registers so that the background of the menus appeared clear, so you could actually see the animation behind the menus. 'Twas pretty cool. Anyway, the first restrictions are the normal ones associated with using dual playfields: limited colors, etc. I also found it necessary to suspend animation when my screen wasn't on top, and also to disallow screen dragging (still might be possible, I just didn't want to work around all the details.) As far as I know, I have done nothing antisocial with regard to Intuition. I did have some problems interacting with the Dmouse screen blanker, but I was eventually able to fix it through anal-retentive use of LockIBase(). - Neil --==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-- Neil Weinstock @ AT&T Bell Labs // What was sliced bread att!edsel!nsw or nsw@edsel.att.com \X/ the greatest thing since?