No fps dependency on polygon count (sphere resolution) on i7, i5

Batching
means that you have only one draw call instead of many.
Example: All your spheres are static (don’t move) and use the same texture / material. Then you can use GeometryBatchFactory to create one batch from those spheres. See this article: http://wiki.jmonkeyengine.org/doku.php/jme3:intermediate:optimization

Instancing
is another optimization (see e.g. this thread: Best way to display large number of objects). Instances can have moving objects and sometimes different materials (if done cleverly).