OpenGL:更多顶点,性能更慢

The*_*ing 2 opengl wpf performance sharpgl

我正在开发一个程序的一部分,给出一组xyz坐标,一个3D模型.我已完成此图片所需的所有功能(即平移,旋转,缩放),但是给出的xyz坐标越多,程序运行的速度就越慢.处理29,000个坐标时我的程序运行得非常顺利,但是当我有300,000个点时,我的程序变慢了.我正在使用SharpGL在WPF中使用OpenGL.插入所有这些点的代码如下所示:

gl.Begin(OpenGL.GL_LINES);

        for (int i = 0; i < (parser.dataSet.Count - 1); i++)
        {

            gl.Color(1.0f, 0.0f, 0.0f);
            gl.Vertex(parser.dataSet[i].X / parser.xDiv, parser.dataSet[i].Y / parser.yDiv, parser.dataSet[i].Z);
            gl.Vertex(parser.dataSet[i + 1].X / parser.xDiv, parser.dataSet[i + 1].Y / parser.yDiv, parser.dataSet[i + 1].Z);
        }

        gl.End();
        gl.Flush();
Run Code Online (Sandbox Code Playgroud)

我在做一些我能解决的事情(我不熟悉OpenGL)吗?有些人提到缩小我的数据,我并不完全反对,但有没有办法在图片上"缩放"(重新缩放)时"缩放"?

gen*_*ult 7

300,000点的立即模式(glBegin()/ glEnd())函数调用开销是巨大的.

使用顶点数组或顶点缓冲区对象批量提交几何体.这样你可以在10-20个电话中抽取所有积分,而不是近百万个.