I see you got yourself some event sheet there. Great work, but now, let's see where can we improve this:
Sorry about that, I found the largest performance hog is the process which sends the mapdata in my overall array over to my array used for generating what's on screen (event 79). I'll work on getting the rest of the events less sloppy later on, but right now I just need to pin down this one thing:
dropbox.com/s/trzydwaanmq8qr2/Untitled-1.png
I've tried making it only add to the screenspace array for the elements that would be on the screen, but it only adds a minor performance boost.
dropbox.com/s/k2ar2gne9o50bak/Untitled-2.png