Search the web
Sign In
New User? Sign Up
gbadev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Fastest way to update linear screenbuffer.   Message List  
Reply | Forward Message #1253 of 15019 |
RE: [gbadev] Fastest way to update linear screenbuffer.

Martijn

IMHO, the fastest method is to maintain your screen buffer in fast,
single-cycle ram (32Kb) and then either DMA it to the front buffer in VRAM
at the start of the v-blank, or DMA-ing it to the back buffer then flipping
it at the end of the v-blank.

You'll note that in mode 4 (8-bit) the screen takes 240x160 bytes (38,400
bytes) which is larger than your single-cycle ram. You can do one of two
things. Firstly, you can cut the bottom 24 pixels off the screen and fill it
with OSD info. Alternatively, depending on how your write your rendering
routines, you can build the screen up in chunks, say 8Kb at a time and DMA
it to the back vram buffer then flip at the end of the v-blank. This will be
better, because you can also have your rendering code and texture/sprite
cache or whatever in the fast ram too.

Not having any actual hardware to play with just now, I'm not sure how
DMAing will affect the bus. Perhaps someone could advise us all on this?

What's everyone else thinking out there?

Tom Kane

-----Original Message-----
From: Martijn Wenting [mailto:mwenting@...]
Sent: Thursday, February 01, 2001 6:52 PM
To: gbadev@yahoogroups.com
Subject: [gbadev] Fastest way to update linear screenbuffer.


Hi,

There are several ways to update a linear screenbuffer, what would be the
fastest method?

a. Drawing direct to screen
b. Drawing to the backbuffer and flipping it
c. Drawing to an area in ram and copying it to screen (32-bit copy).
d. Drawing to an area in ram and copying it to backbuffer (32-bit copy) and
flipping the backbuffer.
e. another method.

Anyone fiddled around with this?

Cheers,

Martijn



unsubscribe: gbadev-unsubscribe@egroups.com





Thu Feb 1, 2001 10:06 am

tom.kane@...
Send Email Send Email

Forward
Message #1253 of 15019 |
Expand Messages Author Sort by Date

Hi, There are several ways to update a linear screenbuffer, what would be the fastest method? a. Drawing direct to screen b. Drawing to the backbuffer and...
Martijn Wenting
mwenting@...
Send Email
Feb 1, 2001
9:53 am

Martijn IMHO, the fastest method is to maintain your screen buffer in fast, single-cycle ram (32Kb) and then either DMA it to the front buffer in VRAM at the...
Tom Kane
tom.kane@...
Send Email
Feb 1, 2001
10:03 am

Thanks Tom, I think splitting rendering-code up in 8kb chunks isn't an option i'm afraid ... Anyone else got any idea's on this? or does everyone agree with...
Martijn Wenting
mwenting@...
Send Email
Feb 4, 2001
8:22 pm

I have done some quick tests with my plasma demo "kunterbunt" and found the "rendering to internal-ram and dma'ing to vram" version a bit slower than the first...
Dennis Ranke
exoticorn@...
Send Email
Feb 4, 2001
8:30 pm

... If you check the include file you fill find the DmaCopy and the others are just #defines so you can get problems with them, the best solution if you want...
Neil Harding
tt_neil@...
Send Email
Feb 5, 2001
8:15 am

Aaargh, I've tried several solutions now, but still even a simple MODE4 plasma run at 4FPS, this can't be right, since i'm just plotting some colors (and doing...
Martijn Wenting
mwenting@...
Send Email
Feb 5, 2001
11:35 am

In message <NEBBKEPJGDPOECDNLBOFCEJFCAAA.mwenting@...> ... This really sounds as if you were doing something wrong. In my rgb-Plasma demo...
Dennis Ranke
exoticorn@...
Send Email
Feb 5, 2001
11:47 am

Thanks Dennis, That's a relief, knowing that it's not a hardware issue, but just me not-knowing the GBA ny heart :-) I'm using the C code (which by default is ...
Martijn Wenting
mwenting@...
Send Email
Feb 5, 2001
12:07 pm

In message <NEBBKEPJGDPOECDNLBOFOEJFCAAA.mwenting@...> ... The gcc isn't the best compiler for speed optimisation, so that might be the cause of...
Dennis Ranke
exoticorn@...
Send Email
Feb 5, 2001
12:25 pm

Hi, Just read somewhere that MarioKart Advance will feature a 4 player mode without the need for more than one cart (pocket.ign.com today) I'm not 100%...
Collin van Ginkel
collin@...
Send Email
Feb 1, 2001
11:34 am

... This implies that there is an "Game-Boot" routine in the built-in OS for booting a game over a link connector? Is this right... -Anthony...
Anthony Ball
anthony@...
Send Email
Feb 2, 2001
9:37 am

Sounds like an excellent way to make a cheap devkit to me ;-) ... From: "Anthony Ball" <anthony@...> To: <gbadev@yahoogroups.com> Sent:...
Otaku
otaku@...
Send Email
Feb 2, 2001
10:02 am

Sounds like an excellent way to make a cheap devkit to me ;-) Great Minds... ;) -Anthony...
Anthony Ball
anthony@...
Send Email
Feb 2, 2001
3:33 pm

At 10:51 AM 2/1/01 -0800, you wrote: Which freeware compilers and assembler is everyone using? Where can I get them?...
Marcus Linkert
paninaro@...
Send Email
Feb 2, 2001
5:10 am

I think, although I haven't tried this yet, that if you want to compile C code to ARM, you have to use the 32 bit version of the compiler - there is no option...
Tom Prosser
tom@...
Send Email
Feb 5, 2001
12:39 pm

... If you've checked the news items on gcc.gnu.org, recent CVS versions of gcc can produce Thumb and ARM from the same binary. Unfortunately the ...
Anders M Montonen
ammonton@...
Send Email
Feb 5, 2001
2:32 pm

Hello Anders, Monday, February 05, 2001, 3:32:28 PM, you wrote: ... AMM> If you've checked the news items on gcc.gnu.org, recent CVS versions of AMM> gcc can...
groepaz
groepaz@...
Send Email
Feb 5, 2001
2:47 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help