This site is no longer active and is available for archival purposes only. Registration and login is disabled.

XScale blitting


Postby StephC » Jul 17, 2003 @ 5:16pm

User avatar
StephC
pm Insider
 
Posts: 442
Joined: Jun 12, 2003 @ 10:41am
Location: Bordeaux - France


Postby Digby » Jul 17, 2003 @ 5:56pm

Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby rcp » Jul 17, 2003 @ 10:16pm

Dan:
Both. We have a high level dirty rect type approach that can eliminate large areas. However, we also do a pixel by pixel approach on the other areas as we found that it actually still makes an improvement. Basically, writting to video memory is just that slow.

Digby and others:
I download the MediaQ docs and found them quite straightforward. Except for the fact that they neglected to cover the FIFO register definitions, everything you need is in there. I was able to setup a system memory to display memory BitBlt and bang the pixels into the FIFO. Unfortunately, since the BitBlt requires you to send the data to the FIFO, this is actually slower than just writting to the display memory. My test program runs at 45fps when writting to display memory and about 33fps when banging the FIFO for the BitBlt. I imagine that if I setup a chained DMA to write to the FIFO, that this would probably speed things up. Unfortunately, the FIFO depth is only 64 bytes, so there will be a good bit of overhead in any method writting to the FIFO. I'll try this next.

I did do some display memory to display memory BLTs and I found them to be wicked fast (like nearly free). The BLT function support full ROP and transparency (not blending, just yes or no) so there is probably something useful that can be done with this. I can imagine keeping some static object just offscreen and BLT them onscreen as needed. Since a 320x240 screen only takes about 60% of the available RAM, there could be some interesting potential here (given that nothing *else* is using that RAM).

What I don't understand is why the Window's BLT is so slow. If the MediaQ will do a BLT using chained DMA to the FIFO, then it should be much faster. There are only two possibilities in my mind... 1) The display driver doesn't use the MediaQ features, or 2) Chained DMA to the FIFO is slow. I honestly can't imagine that the display driver isn't optimized for the chip since MediaQ provides a reference driver. In addition, I have a hard time believing that the DMA/FIFO method would be slow. Of course, experience tells me not to be surprised by anything. ;)

I would be interested in putting a small test program out that does nothing but BLT a screen using direct write to display memory (memcpy). It would be interesting to get some fps numbers from different devices. The only two devices I have both have the MediaQ 1132... so I'd like to see what some device do that either don't have a external video controller or that have a different one.

Thanks for all the input. This looks like a great forum. If noone minds, I think I'll stick around. ;)

Cheers,

rcp
rcp
 


Postby Kzinti » Jul 18, 2003 @ 3:34am

I took a quick look at the specs and the MQ1132 seem quite straightforward to program.

I am really surprised to hear that the "accelerated" blit is using pseudo-DMA (the FIFO). I always assumed that the chip was capable of true DMA (unattended blit from system to video). Otherwise, what is the point of having such a chip in the first place? (Considering that both the StrongARM and XScale processors have built-in LCD controllers.)

I will investigate some more during the week-end and report back my findings.

Could you provide us with details on the FIFO registers? How does the FIFO work?


Thierry
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Digby » Jul 18, 2003 @ 3:42am

Regarding slow GDI blits, in order to see a VRAM-to-VRAM blit you'll need to create the bitmap selected into your offscreen memory DC using CreateCompatibleBitmap. Otherwise, the bitmap will be in system RAM and, well, you already know how slow that is on your hardware.
Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby rcp » Jul 18, 2003 @ 4:24am

User avatar
rcp
pm Member
 
Posts: 184
Joined: Jul 18, 2003 @ 2:12am
Location: Duluth, GA. (Southeast US)


DMA->FIFO update

Postby rcp » Jul 18, 2003 @ 5:38am

User avatar
rcp
pm Member
 
Posts: 184
Joined: Jul 18, 2003 @ 2:12am
Location: Duluth, GA. (Southeast US)


Postby Dan East » Jul 18, 2003 @ 6:40am

User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby Kzinti » Jul 20, 2003 @ 11:24pm

Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Pam » Jul 21, 2003 @ 3:21pm

All the easy problems have been solved.
User avatar
Pam
pm Insider
 
Posts: 449
Joined: Jan 24, 2002 @ 10:30pm
Location: Ohio


Postby Kzinti » Jul 21, 2003 @ 5:05pm

Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Pam » Jul 21, 2003 @ 6:05pm

All the easy problems have been solved.
User avatar
Pam
pm Insider
 
Posts: 449
Joined: Jan 24, 2002 @ 10:30pm
Location: Ohio


Postby Kzinti » Jul 21, 2003 @ 6:25pm

Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


DMA->FIFO update

Postby StephC » Aug 6, 2003 @ 7:36pm

User avatar
StephC
pm Insider
 
Posts: 442
Joined: Jun 12, 2003 @ 10:41am
Location: Bordeaux - France


Postby Johan » Aug 15, 2003 @ 5:02pm

Ok, maybe I'm blind but I can't find any document on mediaq.com related to programming. I went through all the datasheets, product briefs, driver adaption notes and evaluation kit guides there are..
Johan Sanneblad, M.Sc, Ph.D
GapiDraw Systems Architect
[]
User avatar
Johan
pm Member
 
Posts: 1843
Joined: Jan 12, 2002 @ 12:38pm
Location: Sweden


PreviousNext

Return to Windows Mobile


Sort


Forum Description

A discussion forum for mobile device developers on the Windows Mobile platform. Any platform specific topics are welcome.

Moderators:

Dan East, sponge, Digby, David Horn, Kevin Gelso, RICoder

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron