gpt4 book ai didi

wpf - OpenGL:更多的顶点,更慢的性能

转载 作者:行者123 更新时间:2023-12-02 07:00:16 27 4
gpt4 key购买 nike

我正在处理一个程序的一部分,其中给定一组 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();

我是不是在做一些我可以解决的菜鸟问题(我不熟悉 OpenGL)?有些人提到缩小我的数据,我并不完全反对,但是有没有办法在我“放大”(重新缩放)图片时“缩小”?

最佳答案

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

使用顶点数组或顶点缓冲区对象批量提交几何。这样一来,您就可以在 10-20 次通话中得出所有积分,而不是将近一百万次。

关于wpf - OpenGL:更多的顶点,更慢的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209166/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com