我有一个基本上使用opengl固定func管道绘制平行坐标的代码。 坐标有7个轴,绘制64k行。所以输出是混乱的,但是当我在我的笔记本电脑上运行具有intel i5 proc的代码时,8gb ddr3 ram运行正常。我的一个朋友在两个不同的系统中运行相同的代码,这两个系统都有intel i7和8gb ddr3 ram以及一个nvidia gpu。在这些系统中,代码以快门方式运行,有时鼠标指针变得无响应。如果你们能够知道为什么会这样,那将会有很大的帮助。最初我认为它会在这些系统中运行得更快,因为它们有专用的GPU。我自己的笔记本电脑有ubuntu 12.04,其他系统都有ubuntu 10.x.
答案 0 :(得分:0)
使用现代opengl驱动程序中的gpu可编程功能实现固定功能管道。这意味着大部分工作都是由GPU完成的。修复函数opengl不应该比使用glsl做同样的事情慢,但只是非常不灵活。
轴和7轴的坐标是什么意思?你有应用程序的屏幕截图吗?
鼠标卡顿的声音听起来像是在严重影响您的显示器驱动程序。这听起来像是在做太多的opengl调用。你使用立即模式(glBegin glVertex ...)?某些OpenGL驱动程序可能没有立即模式的最佳实现。您应该为数据使用顶点缓冲区对象。
答案 1 :(得分:0)
也许我误解了你,但我走了。
有一些API调用,例如glBegin,glEnd,它们给GPU发出命令,所以他们使用GPU的马力,虽然也有调用数组,其他函数与API无关 - 他们使用CPU。 现在,通过将数据保存在缓冲区(glGenBuffers等)中然后在onDraw循环中使用这些缓冲区(VBO / IBO),可以在OpenGL的onDraw循环之外预加载模型。
如果管理正确,它可以减少GPU / CPU的负载。希望这会有所帮助。
奥列格