Help - Search - Members - Calendar
Full Version: Testing Renderer Speeds? Benchmarking?
GP32X.com - GP32 GP2X Pandora The Wiz - open source entertainment > GP2X > General talk [GP2X]
mikeeeee
Not sure if this is the correct section so sorry if I posted in the incorrect area.

I have wrote a renderer which is highly optimised for 16bit 565RGB and ported it to the GP2X from Windows Mobile, I am unsure how to go about testing the speed of it and to how this would be deemed fair. The renderer has the ability to have images drawn with a variety of blend modes such as opacity, additive, subtraction, multiply, screen, colour tint, fill etc etc.

I have tested it versus SDL which clears the screen and draws 200 200x200 sized images to the screen.
Mine - 18fps
SDL HWSURFACE|DOUBLEBUF - 17fps
SDL SWSURFACE - 11fps

I draw my buffer directly to fb0 on the gp2x which leads me to wonder how it is the same speed as SDL with hardware? or am I thinking incorrectly? I have looked into the hardware blitter and implemented it but its does seem very practical with the amount of image manipulation I do.

Any advice/comments are welcome. smile.gif
Squidge
If your writing a lot of data directly to the frame buffer, then try implementing my mmu hack - it should speed up your fps quite nicely.
Peter R
This sounds interesting.
mikeeeee
Hey,

My attempts to use mmuhack are not very successful.

The fb is allocated in upper memory within my lib's renderer initialise function using:

CODE
int Uppermemfd = open("/dev/mem", O_RDWR); //Open the memory for reading/writing
fb = (unsigned short*)mmap(0, 320*240*sizeof(unsigned short), PROT_READ | PROT_WRITE, MAP_SHARED,Uppermemfd, 0x03101000);


In the program after I call initialise I run the mmuhack, in telnet this says 'Using mmuhack' but the fps is still 18 and I see no difference.

CODE
    system("/sbin/insmod mmuhack.o");

    int mmufd = open("/dev/mmuhack", O_RDWR);
    if(mmufd < 0)
    {
      printf("MMU hack failed");
    }
    else
    {
      printf("MMU hack loaded");
      close(mmufd);
    }


Any ideas?
xnopasaranx
maybe you are using the faulty mmuhack module? there were two compiled builds. One of them didn't work at all...
Squidge
check the size of your mmu hack module with the version in the archive
mikeeeee
I used this one here which I downloaded yesterday which is apparently the one which works.

huh.gif

could the method I use be a reason? Since I do alot of graphic manipulation with my optimised algorithms a screenbuffer is held within the renderer, when the flip command is called the buffer is then copied fully to the fb.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.