descargar - opengl que es
Mi limitado FPS: 60 (3)
Aprendí la programación en OpenGL por algún tiempo. Y encontré un fenómeno muy extraño: mi FPS (fotograma por segundo) siempre se mantiene en 60, sin importar que el programa sea muy fácil o un poco complicado. En realidad, mi computadora se compra el año pasado. El rendimiento es bueno. La tarjeta gráfica es nVidia GTX570, la CPU es I7.
Así que hago un experimento: ejecuto el mismo programa en mi computadora y en la de mi amigo. Este programa implementa el mapeo de sombras:
El FPS en mi computadora es de aproximadamente 60. Pero cuando lo ejecuto en la computadora de mi amigo, el FPS es más de 400.
Pero el rendimiento de mi computadora es obvio mejor que el de él. Ahora publico el parámetro de nuestra computadora.
Mi computadora:
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
La computadora de mi amigo:
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
Tengo mucha curiosidad y no puedo entenderlo. ¿Debo realizar algunos ajustes para la tarjeta gráfica? ¿Alguien podría decirme cómo resolver el problema?
En el nVidia Control Panel
:
La configuración de sincronización vertical es la que te interesa. Para los puntos de referencia como este, normalmente desea que se off
.
Esto es vsync en el trabajo. Su monitor funciona a 60 Hz, por lo que no tiene sentido renderizar más marcos. Y al limitar la velocidad de fotogramas de esa manera, no habrá artefactos de rasgado .
Probablemente haya una configuración en el panel de control del controlador para habilitar o deshabilitar vsync a la fuerza, o para dejarlo en la aplicación.
Si usa un marco OpenGL como GLUT o GLFW, probablemente también tenga una opción para solicitar explícitamente vsync, o desactivarlo (lo que es útil para la evaluación comparativa). Sin embargo, no todos los controladores / configuraciones honrarán esto.
Lo que dijo @Thomas, es VSync.
Puedes desactivarlo en tu aplicación usando:
- GLFW:
glfwSwapInterval(0);
(0
= apagado,1
= encendido) - SDL:
SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0);
- FreeGLUT: No soy consciente de que esto sea posible, use la configuración de su GPU como alternativa