I'm toying around a lot with Game Maker. I really like it. GML is very simple and with its nearly object oriented design you could create anything in 2D you can think of. However there is a limit. And this limit astonishes me in comparison to modern AAA 3D games. How can't Game Maker handle (let's say) 3000 Sprites without dropping the frame rate but something like Crysis, Assasins Creed, Far Cry, Star Citizen which seems to be handling much more calculations at one frame works without problems.
I know that there is a performance difference between languages and that a lot of code can be optimized to get the best results. But is it just how the code is written that 3D engines are so powerful? Why do modern 3D games seem like doing much more but at the end present better results then 2D engines like Game Maker? And would for example something like Unity be faster that is using a real language like C#? Are there C++ engines or frameworks known for their performance? I'm not going to get away from Game Maker soon since my programming skills are not that great. I'm just trying to understand why modern games engines seem so powerful against Game Maker. Or did I get something wrong?