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

Yahoo! Groups Tips

Did you know...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

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
Compression & Transfers   Message List  
Reply | Forward Message #14686 of 15019 |
Re: Compression & Transfers

--- In gbadev@yahoogroups.com, "Damian Yerrick" <d_yerrick@h...>
wrote:
> --- In gbadev@yahoogroups.com, "ronald_chenu" <ronald_chenu@y...>
> wrote:
> >
> > Caching to the EXTRAM (or VRAM itself by double buffering) will
have
> > the following (+)positive and (-)negative consequences:
>
> (paraphrasing here)
>
> > (+) Caching in EWRAM allows use of draw time for decompression.
> Correct. EWRAM to VRAM transfers run at 4 cycles per 2 bytes,
> filling the entire 32 KB sprite cel VRAM within about 66,000
> cycles. Vblank is 83,776 cycles long.

That will hold only if your data is uncompressed and that you are
doing a DMA transfer, I suppose

> > (-) Caching uses EWRAM.
> Correct.
> > (-) Caching uses time to move data into EWRAM.
> Correct.
> > And the most important of all:
> > (-)Consumes greater cpu time.
> Not necessarily. If you are transferring the same images over
> and over to VRAM, such as 12 frames of a walk loop, you save
> the time of repeated decompression. You can also decompress
> ahead of the animation when you know you have a lot of CPU
> time to spare in this frame's draw period.

Interesting, by implementing this kind of memory manager, the cpu
overhead of caching is effectively reduced by using even more VRAM
(more than one frame per sprite will be cached). But that shouldn't be
a problem I guess...

> > This will work remarkably well if you have spare time outside
> > vblank
> In my experience, most 2D programs for GBA have much more
> spare time outside vblank than they know what to do with.
> Still, efficient coding will drain the battery less.

Very useful information, I expected vblank to be busier than
non-vblank time, but not as you described.

Taking all this into consideration I'll run some tests and see what I
can come up with.

Thanks again

Ronald





Wed Dec 31, 2003 8:42 pm

ronald_chenu
Online Now Online Now
Send Email Send Email

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

Hi GBAlist! Has anyone made tests on the speed of the LZ77 Bios decompression funcions? How do they compare with CpuSet and FastCpuSet? and DMA Transfer? All...
Ronald Chenu Abente
ronald_chenu
Online Now Send Email
Dec 24, 2003
11:21 am

Hello Ronald, Wednesday, December 24, 2003, 12:50:04 AM, you wrote: RCA> Has anyone made tests on the speed of the LZ77 Bios RCA> decompression funcions? about...
Aleksey N. Malov
vivid_bwteam
Offline Send Email
Dec 24, 2003
2:51 pm

Merry Christmas to all! ... I see, but since you are actually making a transfer of less data (because of the compression) that would become 360-600 KB per...
ronald_chenu
Online Now Send Email
Dec 27, 2003
1:02 am

... Ever tried caching decompressed cels in EWRAM? -- Damian...
Damian Yerrick
yerricde
Offline Send Email
Dec 28, 2003
3:08 pm

... The following are my assumptions, please feel free to correct them. Caching to the EXTRAM (or VRAM itself by double buffering) will have the following...
ronald_chenu
Online Now Send Email
Dec 29, 2003
3:40 pm

... (paraphrasing here) ... Correct. EWRAM to VRAM transfers run at 4 cycles per 2 bytes, filling the entire 32 KB sprite cel VRAM within about 66,000 cycles....
Damian Yerrick
yerricde
Offline Send Email
Dec 31, 2003
11:12 am

... have ... That will hold only if your data is uncompressed and that you are doing a DMA transfer, I suppose ... Interesting, by implementing this kind of...
ronald_chenu
Online Now Send Email
Jan 1, 2004
11:07 am
Advanced

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