Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!uunet!wuarchive!m.cs.uiuc.edu!ibma0.cs.uiuc.edu!sunc7.cs.uiuc.edu!menelli From: menelli@sunc7.cs.uiuc.edu (Ron Menelli) Newsgroups: comp.sys.amiga.programmer Subject: SuperBitMap Layers, etc. Summary: Need a faster way to update Keywords: SuperBitMap, Layers, Graphics Message-ID: <27D2B7A7.3CE7@ibma0.cs.uiuc.edu> Date: 4 Mar 91 21:09:59 GMT Sender: news@ibma0.cs.uiuc.edu Organization: University of Illinois at Urbana-Champaign Lines: 36 I've got a bit of a dilemma that I hope someone can assist me with. Here is some background... I need to have four completely borderless, full screen windows on a custom screen. They are intended to act as "pseudo screens". Also, I need to write pixel by pixel onto this screen. I tried WritePixel(), which worked but was abysmally slow. I've spent much time attempting to replace it with something of my own that is faster... What I did was write a bit of code that writes directly to a BitMap structure in hopes that this was what I was looking for. It turned out to be a good four or five times faster than WritePixel(), but unfortunately, due to my lack of knowledge of the workings of low-level Amiga graphics, I was quite surprised to find out that writing to any of the four stacked windows resulted in the image being displayed on the frontmost window. This, of course, does me no good. My next attempt was trying to write to a SUPER_BITMAP (instead of SMART_REFRESH) window, so I could write to the superbitmap instead of the common screen bitmap like I was doing before. This resulted in nothing being displayed at all. After paging through the AutoDocs, I found the CopySBitMap() function that updates layer information after a write to the superbitmap structure. This made everything work, but it was MUCH slower than WritePixel. So, my question to everyone is, how can I solve this problem? Apparently CopySBitMap must attempt to 'refresh' (for lack of a better word) the ENTIRE screen, whereas I'm only dealing with a few pixels (usually 7 at a time). Can I tell it to update everything it needs to based on the small changes I make instead of the whole (mostly static) screen? Any suggestions are most appreciated. Thanks, Ron Menelli menelli@cs.uiuc.edu menelli@sumter.cso.uiuc.edu