Optimus
Member
Not that I need it, cause I've solved the problems.
But I was just curious to learn why these happen..
I started in DevKitARM or minigp32 with the official SDK from Gamepark32.
Strange things happened that affected the speed and esp. produced buggy output..
1) I was declaring these variables as global (outside GPmain):
GPDRAWSURFACE GPdraw;
char *vram;
Then the speed was 23fps.
Then, I decided to declare the second line inside each of my functions where I need it, and the speed went to 83fps.
Why did this happened? Also, in the first occation I noticed gfx bugs sometimes (If I didn't vsynced)
2) Generally, when I avoided vsync and tried to run some output as preety fast as possible to the buffer, I noticed a usual bug (that I have noticed in other occasions too), like the display is too slow or vertical strips of the output are written slowly slowly instead of instantly! Strange..
3) Even when moving to Mikro's SDK, I made something wrong and displayed the same bugs. I think have declared the framebuffer globally as static or not, but now it's outside my functions as static and everything works fine. Unfortunatelly I couldn't recreate the bug to find out what is. But it was the same strange bug that happened in my GP32 many times before. Now with Mikro's SDK, I can disable Vsync if I want and output fast gfx at 300fps without any problem..
Do you know anything about it, does the description of the bug sounds familiar? I'd like to know what caused it and what to avoid when writting gfx to the buffer, flipping, vsyncing or not.
p.s. Not that I need them for my programms (cause I can just enable vsync and write gfx the usual bugfree ways), but I just wanted to know for my knowledge, cause I hate it when a bug happens, then dissapears and I never know what this happened. I thought this case would be familiar to some of you, so you may know..
But I was just curious to learn why these happen..
I started in DevKitARM or minigp32 with the official SDK from Gamepark32.
Strange things happened that affected the speed and esp. produced buggy output..
1) I was declaring these variables as global (outside GPmain):
GPDRAWSURFACE GPdraw;
char *vram;
Then the speed was 23fps.
Then, I decided to declare the second line inside each of my functions where I need it, and the speed went to 83fps.
Why did this happened? Also, in the first occation I noticed gfx bugs sometimes (If I didn't vsynced)
2) Generally, when I avoided vsync and tried to run some output as preety fast as possible to the buffer, I noticed a usual bug (that I have noticed in other occasions too), like the display is too slow or vertical strips of the output are written slowly slowly instead of instantly! Strange..
3) Even when moving to Mikro's SDK, I made something wrong and displayed the same bugs. I think have declared the framebuffer globally as static or not, but now it's outside my functions as static and everything works fine. Unfortunatelly I couldn't recreate the bug to find out what is. But it was the same strange bug that happened in my GP32 many times before. Now with Mikro's SDK, I can disable Vsync if I want and output fast gfx at 300fps without any problem..
Do you know anything about it, does the description of the bug sounds familiar? I'd like to know what caused it and what to avoid when writting gfx to the buffer, flipping, vsyncing or not.
p.s. Not that I need them for my programms (cause I can just enable vsync and write gfx the usual bugfree ways), but I just wanted to know for my knowledge, cause I hate it when a bug happens, then dissapears and I never know what this happened. I thought this case would be familiar to some of you, so you may know..