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

iPaq 38xx buffered display


iPaq 38xx buffered display

Postby MikeW » Dec 8, 2004 @ 12:11am

Hi, I was able to optimize blits directly to video ram on the 38xx and it is amazingly fast.

However I'm noticing that if I use the video buffer instead [thru GXBeginDraw() ], it won't draw on top of the title bar and the entire bar is visible. Is this normal?
Last edited by MikeW on Dec 8, 2004 @ 3:16am, edited 1 time in total.
MikeW
pm Member
 
Posts: 13
Joined: Dec 7, 2004 @ 11:51pm


Postby Dan East » Dec 8, 2004 @ 1:08am

Are you hiding the various system windows with SHFullScreen? Is your app main window sized to 240x320?

Other windows can still compete with access to the display if they are visible. It just depends on what draws last before the screen refresh occurs as to what appears on the display.

Everyone I know of just accesses the VRAM directly on the 38xx because the GAPI implementation is so slow (they did that to maintain backwards compatibility with the 36xx display properties). Pocket Quake does this as well, and none of the system components are visible.

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


Postby MikeW » Dec 8, 2004 @ 3:15am

Yeah, I'm using SHFullScreen for the start icon, taskbar and sip, and the window is at least that size if not larger. I just want to reiterate that things are okay with the direct access method. I'm just trying the buffer method to verify that output is correct in that orientation, and it is except for the title bar showing thru.

I've verified that 240x320 pixel writes are happening. The memory range is correct--adjusting my base address forwards and backwards doesn't help. Nothing will show up over the title bar, not even flicker. I would think that instead of seeing nothing, I'd see garbage somewhere like an image wrapping around or a memory access error. I'm fairly certain my blit routines are correct.
MikeW
pm Member
 
Posts: 13
Joined: Dec 7, 2004 @ 11:51pm


Postby Kzinti » Dec 8, 2004 @ 3:26am

Are you calling GXEndDraw()? The GAPI implementation on the 3800 is buffered. You need to call GXEndDraw() to refresh the screen when you are done drawing.
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Dan East » Dec 8, 2004 @ 4:00am

He's having problems when he accesses the display buffer directly, so he shouldn't be calling GxEndDraw. If he is calling it then that could be the problem. :)

What address are you using? 0xac0755a0?

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


Postby Kzinti » Dec 8, 2004 @ 4:23am

Dan, read his post again. He got it working. He's asking why it doesn't work with GAPI.
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Dan East » Dec 8, 2004 @ 4:46am

Okay, he must have clarified his original post right after he replied to my first reply. I thought the problem was with accessing the display directly.

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


Postby MikeW » Dec 8, 2004 @ 2:30pm

MikeW
pm Member
 
Posts: 13
Joined: Dec 7, 2004 @ 11:51pm


Postby MikeW » Dec 9, 2004 @ 1:50pm

MikeW
pm Member
 
Posts: 13
Joined: Dec 7, 2004 @ 11:51pm


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