Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从NASA数据渲染地形时Opengl性能问题_C++_Performance_Opengl_3d_Frame Rate - Fatal编程技术网

C++ 从NASA数据渲染地形时Opengl性能问题

C++ 从NASA数据渲染地形时Opengl性能问题,c++,performance,opengl,3d,frame-rate,C++,Performance,Opengl,3d,Frame Rate,我尝试使用来自的数据渲染地形。每个文件包含1x1正方形。每个正方形有1201*1201个点(高度) 不幸的是,我在性能方面遇到了一个大问题。渲染约10万个点时每秒30帧,渲染全正方形时每秒约0.5-3.0帧。。。悲剧 我已经花了整整5天的时间在它上面,我不知道我该如何加速它。这对一张图形卡来说是不是太多了,或者是我的司机的问题?我在两台电脑上检查过,但每台电脑上都有radeon HD。我的台式电脑真的很好-4核,8GB内存,radeon HD4850 1GB,SSD,所以它不是因为一个旧的硬件

我尝试使用来自的数据渲染地形。每个文件包含1x1正方形。每个正方形有1201*1201个点(高度)

不幸的是,我在性能方面遇到了一个大问题。渲染约10万个点时每秒30帧,渲染全正方形时每秒约0.5-3.0帧。。。悲剧

我已经花了整整5天的时间在它上面,我不知道我该如何加速它。这对一张图形卡来说是不是太多了,或者是我的司机的问题?我在两台电脑上检查过,但每台电脑上都有radeon HD。我的台式电脑真的很好-4核,8GB内存,radeon HD4850 1GB,SSD,所以它不是因为一个旧的硬件

你有什么想法吗?也许我应该在driver/opengl中切换一些选项

我做一些基本的事情:

GLenum mode = GL_TRIANGLE_STRIP;

glBindVertexArray(_vao);

//pass data
glUniformMatrix4fv(_mvp_loc, 1, GL_FALSE, &mvp[0][0]);  
glUniform2f(_part_pos_loc, _longitude, _latitude);

//draw
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, DETAILS_LEVEL[levelOfDetails]);
glDrawElements(mode, DETAILS_COUNT[levelOfDetails], GL_UNSIGNED_INT, (void*)0);

glBindVertexArray(0);
我的顶点着色器也很简单。

我已经解决了这个问题(使用了几天后)
我希望我的回答能挽救某人的生命:-)

这是由两件事引起的:

  • Hyper-V-禁用后fps增加约7倍(谁会猜到,它可能是Hyper-V?)
  • GL_SHORT-我对顶点使用了这种类型,当我用GL_FLOAT替换它时,fps增加了几倍!(可能是GL_SHORT导致了一些转换)