Simple Hit Test?

I'm trying to make a simple physics platformer. I know how it could be done but I don't know the best method. There is an obviously brutish way to create a platformer, and that's to check if the player is touching any and every platform, check what side, and determine which direction you cannot move. Like so-

But that seems primitive and a waste of processor time. It also would seem to bog the system down if you had many objects and many players to make a hittest. A good example of where I think this would fall flat on its face is the massive game minecraft or Oblivion.

So these games obviously aren't using my method. Are they using a smarter version of my method? Like trimming the area down to around your person? In a tile system like minecraft it might be easy to pinpoint any tile are over pretty easily. But that doesn't apply to oblivion. Anyway, this is more of a general programming question.