首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的有限FPS : 60

我的有限FPS : 60
EN

Stack Overflow用户
提问于 2012-07-03 21:45:37
回答 3查看 19.6K关注 0票数 16

我已经学习了OpenGL编程的一些time.And我发现了一个非常奇怪的现象:我的每秒帧数(Frame per Second)总是停留在60左右,无论是程序很简单还是有点complicated.Actually,我的电脑是去年买的,性能是good.The显卡是nVidia GTX570,CPU是I7。

所以我做了一个实验:在我的电脑上运行相同的程序,我朋友的computer.This程序实现了阴影贴图:

我电脑里的FPS大约是60。但当我在朋友的电脑上运行它时,FPS超过了400。

但是我的电脑的性能明显比his.Now好,我把电脑的参数贴出来了。

我的电脑:

代码语言:javascript
运行
复制
tgt.init (Info)  GLEW version: 1.7.0
tgt.GpuCapabilities (Info)  OS version: Windows 7 (build 7600)
tgt.GpuCapabilities (Info)  OpenGL Version: 4.2.0
tgt.GpuCapabilities (Info)  OpenGL Renderer: GeForce GTX 570/PCIe/SSE2
tgt.GpuCapabilities (Info)  GPU Vendor: NVIDIA Corporation (NVIDIA)
tgt.GpuCapabilities (Info)  Texturing: yes, max size: 16384, 3D: yes, max 3D size: 2048
tgt.GpuCapabilities (Info)  Texture features: 32 units, NPOT, rectangles, compression, 16x anisotropic
tgt.GpuCapabilities (Info)  Framebuffer Objects: yes, max 8 color attachments
tgt.GpuCapabilities (Info)  Shaders: yes (OpenGL 2.0), GLSL Version 4.20, Shader Model 5.0
tgt.GpuCapabilitiesWindows (Info)  Graphics Driver Version: 8.17.12.9573
tgt.GpuCapabilitiesWindows (Info)  Graphics Driver Date: 2012-02-09
tgt.GpuCapabilitiesWindows (Info)  Graphics Memory Size: 1280 MB

我朋友的电脑:

代码语言:javascript
运行
复制
 tgt.GpuCapabilities (Info)  OS version: Windows 7 Service Pack 1 (build 7601)
tgt.GpuCapabilities (Info)  OpenGL Version: 4.2.11566 Compatibility Profile Context
tgt.GpuCapabilities (Info)  OpenGL Renderer: AMD Radeon HD 6620G
tgt.GpuCapabilities (Info)  GPU Vendor: ATI Technologies Inc. (ATI)
tgt.GpuCapabilities (Info)  Texturing: yes, max size: 16384, 3D: yes, max 3D size: 8192
tgt.GpuCapabilities (Info)  Texture features: 16 units, NPOT, rectangles, compression, 16x anisotropic
tgt.GpuCapabilities (Info)  Framebuffer Objects: yes, max 8 color attachments
tgt.GpuCapabilities (Info)  Shaders: yes (OpenGL 2.0), GLSL Version 4.20, Shader Model 5.0
tgt.GpuCapabilitiesWindows (Info)  Graphics Driver Version: 6.14.10.11566
tgt.GpuCapabilitiesWindows (Info)  Graphics Driver Date: 2012-03-09
tgt.GpuCapabilitiesWindows (Info)  Graphics Memory Size: 512 MB

我很好奇,但我不明白out.Should我做了一些显卡的设置?有人能告诉我如何解决这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-03 21:49:41

我是vsync在工作。您的监视器以60 Hz的频率运行,因此渲染更多帧是没有意义的。通过以这种方式限制帧速率,将不会有tearing artifacts

可能在驱动程序的控制面板中有一个设置,用于强制启用或禁用vsync,或者让应用程序自行决定。

如果您使用GLUT或GLFW这样的OpenGL框架,可能还可以选择显式地请求vsync,或者关闭它(这对于基准测试很有用)。然而,并不是所有的驱动程序/设置都会遵守这一点。

票数 20
EN

Stack Overflow用户

发布于 2012-07-03 22:00:21

托马斯说,这是VSync。

您可以使用以下命令在应用程序中禁用它:

  • GLFW:glfwSwapInterval(0); (0 = off,1 =on)

GPU SDL:SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0);

  • FreeGLUT:我不知道这是可能的,请使用您的
  • 设置作为回退
票数 24
EN

Stack Overflow用户

发布于 2012-07-03 21:51:57

nVidia Control Panel

垂直同步设置是您所关心的设置。对于这样的基准测试,您通常希望将其设置为off

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11312318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档