The Meaning of Life, the Universe, and Everything.
I hope this has been suggested or thought of in the past, but I'm sure it would help fps greatly if the game did not render every single block in your render distance, and only what would be in your FOV. For example, you are looking at a tree, just a single tree on the edge of the forest. That is all that is in your FOV. The game doesn't NEED to render the rest of the forest so that you can see the tree, so why does it?
This idea seems pretty good, as it would probably decrease lag or any kinds of issues with so many blocks rendered, but if all you wanted to see was the tree, then just turn down your render distance to a couple chunks only. You wouldn't be rendering everything else.
If you want to keep your render distance high, that is only because you wanted to see more things. This idea doesn't really seem helpful.
Hello? This has already been implemented into the game, particularly in 1.8 - if you don't believe me, try pressing F5 and see if you don't see chunks not rendering for a moment - that's the game completely ignoring chunks outside of your view distance. Even older versions did this as well - that's how you could use x-ray glitches, since any blocks not in contact with air/transparent blocks weren't rendered; Advanced OpenGL in those versions removed those exposed blocks (e.g. hidden caves) from rendering as well, which is why my FPS doubles when I turn it on (in fact, with it turned off my GPU runs out of memory and lags on an otherwise perfectly playable render distance, a clear indication that it doesn't have to handle so many blocks, thus less GPU memory).