小编Nec*_*tem的帖子

XNA可以处理多少(低多边形)模型?

我知道以下是一个模糊的问题,但我遇到了我在XNA中没有预料到的性能问题.

我有一个低多边形模型(它有18个面和14个顶点),我试图绘制到屏幕a(高!)次.我得到超过60 FPS(在一台体面的机器上),直到我画这个模型5000+次.我在这里问得太多了吗?我非常希望至少将这个数字增加一倍或三倍(10-15k).

我实际绘制模型的代码如下.我试图从绘制周期中尽可能多地消除计算,是否有更多可以从中挤出,或更好的替代方案?

注意:tile.Offset在初始化期间计算一次,而不是每个周期计算一次.

foreach (var tile in Tiles)
        {
            var myModel = tile.Model;
            Matrix[] transforms = new Matrix[myModel.Bones.Count];
            myModel.CopyAbsoluteBoneTransformsTo(transforms);

            foreach (ModelMesh mesh in myModel.Meshes)
            {
                foreach (BasicEffect effect in mesh.Effects)
                {
                    // effect.EnableDefaultLighting();
                    effect.World = transforms[mesh.ParentBone.Index] 
                                 * Matrix.CreateTranslation(tile.Offset);
                    effect.View = CameraManager.ViewMatrix;
                    effect.Projection = CameraManager.ProjectionMatrix;
                }
                mesh.Draw();
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# xna xna-4.0

6
推荐指数
1
解决办法
3639
查看次数

为CLR实现功能语言(或者,关于F#实现的论文)

有谁知道关于F#编译器实现的任何好文章?我正在尝试为针对CLR的简单函数语言生成CIL代码,但我正在努力解决几个方面问题.

功能语言和CIL之间的差异使得很难生成良好类型的CIL代码.我有通过类型擦除工作的解决方案,但我更愿意找到一种方法来生成CIL代码,该代码反映(至少在某种程度上)我的源语言的Hindley-Milner类型系统(例如,通过生成泛型类).根据MS和Mono F#编译器生成的代码判断,他们设法实现了这一目标!

compiler-construction clr lambda f# functional-programming

3
推荐指数
1
解决办法
296
查看次数