Try to expand the lines in the profiler with the "+"
If, for example, you see something like
Code:
obj_player(draw)//call_count//lots of ms// big %
Try to post the revelant code (in this example, the obj_player draw event).
Between the bunch of us, we might find an optimization solution, or a loophole in the code that was overseen
Edit;
Like so:
This is an example from my current project. You can see how intensive it is to just draw simple ****. This is from one of my main menu page, and no surfaces are used. This is a perfect case example of good use of surfaces to reduce processing, tho I just didn't bothered messing with them yet.
Edit_2:
End result is this, this is a simple object that loops 7 times with a couple character sprites, a button sprite, and some text. Yet, when currently drawing on screen every step, I dont even reach fps = room speed. Im sure all will be good when drawn to surfaces, tho.