One thing i noticed in my game was that optimising the event sheet gave me a lot of FPS boost. Here are some of the things i did that had most impact.
* If you have a lot of events, place them in groups and enable/disable the groups only when needed. The less events running at the same time the better.
* Using functions and "once when true" can save some CPU, as well as using "every X second" instead of having events run every tick.
* Use Sprite fonts instead of regular text object. Can do a big difference if you have a lot of text.
* Use the condition "Is On Screen" when possible, so the Event's won't pick stuff that is not on screen. Very useful in many cases.
In general. Try narrow down the event object picking with conditions as much as you can, and structure the event sheet so that you can turn off and turn on groups of events when needed.