Ok, so you want to learn game programming. You have a lot of options, but I don't see much of a plan in your question or comments, nor am I quite sure what your exact goals are. The only sure thing I get is that you want to work with 3D graphics.
The thing is, you're asking about performance without actually running into performance issues. Your question feels premature.
For the sake of making a choice, start building with JMonkeyEngine. It seems to be a fairly advanced 3D engine in Java. Starting with an engine allows you to concentrate more on the design of the game instead of having to fine tune everything yourself.
Take the time to make the game complete, with all the finishing touches, such as menus, player options, whatever completes the game. Finished projects teach you a lot about game design, and look good in your portfolio.
Repeat this process with slightly higher-complexity projects, over and over again. Depending on how quickly you advance the complexity and how well the engine is built, you will eventually reach a project where the engine doesn't keep up with your expectations. From here, you can take advantage of the Open Source aspect of the engine and figure out exactly HOW the engine is handling your design.
From this point your learning path switches gears. Instead of learning about generic game programming (which, by this point, you should have a fair bit of expertise in), you start to dig deeper into hardware interaction and low-level optimization.
This all assumes that you are only just beginning to get into game design and game programming, but have a fair amount of experience in your chosen language.