So.. I think I found whats causing this whole mess...
In the Image constructor, I load the image.. But I wanted that all my modules to be the most independent possible, so I have my own loading routines. in the allegro image routine i use something like this..
16 //pImageLoader.load(*this, pFileName);
In this code, I'm forcing the load to paint each pixel of the image manually with green...
I set the image as target, after lock it, do putpixel operations...
Now what I have discovered... If I create a image small, the program runs fine, if the image is big, than, welcome slowdown.
So what I think is: if there are many put pixel operations the program goes slow...
What do you think?
Now, Mark Oates:
This framework I started more than 4 years ago when I was in the university, the main goal was to build a game framework, easy of use, fast, and so on. What happened, I was without time, and I couldn't do all that I wanted. That Time,I was making it in C. Then time changed I started to make a new one in C++, much better for a game I was making called Rabbitz, I have posted about this game here a long time ago. And I have posted here about a megaman engine I was building, that engine uses the first version of my framework, in C.
So, after that I made my framework all in c++. The main goals: multiplataform, working in a system based in backends: You choose the lib that will render, like, allegro, sdl, allegro5. Why? I wanted to have the most plataforms possible.
The framework has some modules, like:
and some other modules that I will remove when I have ported them all.
This framework works with lua, as a script language, and chipmunk as a physics lib.
Graphic works with allegro4, allegro5(almost), SDL;
Audio audiere, and I'm porting a openAL backend because, audiere isn't compatible with MacOs.
Besides, I have a Editor, with sprites, animations and sound packages.
After the framework middle age, I started to program a game engine totally based in scripts. And this engine is almost done, you program all your game with lua, and use the framework files, for sprites, audio, animations in your game.
The goal is: you have your game as a lua script, and a executable file, with the engine, if you want to port your game you only have to compile the engine in the new plataform or download it if other one had done it before you for example.
Um.. I think thats it. XD