XNA renderizar modelos

Tengo un problema, pues uso un modelo generado a través de una matriz cuadrada donde sus valores son entre 0 – 200, simulando así un terreno, separando los vectores x, z según un espaciado, todo resulta ok, siempre y cuando la cámara mire hacia adelante, o sea, que el terreno solo ocupe visualmente un 20% de la pantalla, de esta forma se toma para renderizar 11 milisegundos(aun así creo que es mucho tiempo).

Cuando la cámara gira hacia abajo (mirando al suelo), que es donde en toda la pantalla se ve el suelo, se demora entonces 21 milisegundos el renderizar el modelo, lo que conlleva a una reducion sustancial del framerate.

El modelo redenrizo de esta forma:
Void drawmodel(model model).
{.

Matrix[] bonetransforms = new Matrix[model. Bones. Count].

Model. Copyabsolutebonetransformsto (bonetransforms).

Foreach (modelmesh Mesh in model. Meshes).
{.

Foreach (basiceffect effect in Mesh. Effects).
{.

Effect.world = bonetransforms[Mesh. Parentbone. Index].

Effect. View = Camera. View.

Effect. Projection = Camera. Projection.

Effect. Enabledefaultlighting().

Effect. Preferperpixellighting = true.
// set the Fog todo match the black background color.

Effect. Fogenabled = true.

Effect. Fogcolor = new vector3(1).

Effect. Fogstart = Camera. Farplanedistance *.4f.

Effect. Fogend = Camera. Farplanedistance.
}.

Mesh. Draw().
}.
}.

Mi correo es este : skullwarrior, Sergio@gmail.com.

Por favor cualquiera que tenga una idea de cómo reducir el tiempo en que se toma el renderizar el modelo, pues realmente no entiendo, el modelo no cambia, solo el ángulo de visón de la cámara, y solo aumenta el tiempo de renderizado cuando miro al suelo o tengo de frente a una montaña y la cámara esta suficientemente cerca como para que la montaña ocupe toda la pantalla.

Ver más sobre el tema y los comentarios en el foro