Partially Screen Flicker issue

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
ipsp
Posts: 26
Joined: Wed Feb 01, 2006 9:46 am
Location: Sydney

Partially Screen Flicker issue

Post by ipsp »

Hi Guys

Wondering if anybody can give me some ideas into what is causing a screen flick problem. Basically I'm displaying an multiple images, then swapping the display buffer.

Here is how the problem is created :-

In the first display buffer I will display full screen image A, and in the second buffer I display full screen image B. When buffer A is display everything is good, when buffer B is displayed, the last 16 pixels of image A flicker on the top of the image B.

My thoughts :-

I think perhaps there is a sycn issue such that I'm displaying the second buffer before updating I, but even still this problem should not occur as image A is never written into the second buffer.

Does anybody have any idea what is going wrong??? I can supply the source if anybody is interested cause obviously that would help, just let me know and I'll forward you the tar file with all source.

Thanks hope someone can help me
weltall
Posts: 310
Joined: Fri Feb 20, 2004 1:56 am
Contact:

Post by weltall »

did you write back the cpu cache?
Garak
Posts: 46
Joined: Wed Jul 27, 2005 1:59 am

Post by Garak »

Results such as those described in your post often occur when you flip your buffers without waiting for the vblank to occur.

If you are not allready, try calling sceDisplayWaitVblankStart() before doing a buffer swap.

Garak
ipsp
Posts: 26
Joined: Wed Feb 01, 2006 9:46 am
Location: Sydney

Post by ipsp »

Actually the problem occured as I was writing past the end of the first part of vram, and hence when the first vram buffer was being written (i.e second vram buffer displayed), the images would quite obviously bleed into the seocnd buffer and hence why it was flickering, only where i was overriding the vram buffer.

I tried 2 different solutions to fix this, basically I made the vram area larger so they were not directly adjacent to one other, this should have worked, but I must have not configured the buffers correctly as i got some weird results.

The second solution was to scale images such that they never go past the end of the vram buffer, and this worked very well.

Thanks for everybodys input but this one was solved by addressing the real problem writing past the end of the specified vram.
Post Reply