好吧,我有80000的“盒子”网格用简单的纹理 我设置了一个观看距离与 只画那些你可以看到 其留下600到1000的DrawModel功能belowe 的problume是我只得到10帧每秒和我的视野距离是蹩脚的 此外,我已经做了所有我的代码的内存测试和“mesh.draw()”每秒关闭30帧。 没有别的东西需要那么多。 有什么帮助吗?C#XNA低帧率
private void DrawModel(MeshHolder tmpMH)
{
Model tmpDrawModel = (Model)_Meshs[tmpMH.MeshFileName];
Matrix[] transforms = new Matrix[tmpDrawModel.Bones.Count];
tmpDrawModel.CopyAbsoluteBoneTransformsTo(transforms);
foreach (ModelMesh mesh in tmpDrawModel.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.LightingEnabled = false;
effect.TextureEnabled = true;
effect.Texture = (Texture2D)_Textures[tmpMH.GetTexture(Count)];
effect.View = _MainCam.View;
effect.Projection = _projection;
effect.World =
transforms[mesh.ParentBone.Index] *
Matrix.CreateFromYawPitchRoll(tmpMH.Rotation.Y, tmpMH.Rotation.X, tmpMH.Rotation.Z) *
Matrix.CreateScale(tmpMH.Scale) *
Matrix.CreateTranslation(tmpMH.Position);
}
mesh.Draw();
}
}
PC? XBox 360? Windows Phone? – 2011-06-03 04:10:27
这与[此问题]非常相似(http://stackoverflow.com/questions/5268192/how-many-low-poly-models-can-xna-handle)。 – 2011-06-03 04:21:57