![对 Nvidia GeForge 的低帧率感到困惑,但硬件渲染似乎可以工作?](https://linux22.com/image/21063/%E5%AF%B9%20Nvidia%20GeForge%20%E7%9A%84%E4%BD%8E%E5%B8%A7%E7%8E%87%E6%84%9F%E5%88%B0%E5%9B%B0%E6%83%91%EF%BC%8C%E4%BD%86%E7%A1%AC%E4%BB%B6%E6%B8%B2%E6%9F%93%E4%BC%BC%E4%B9%8E%E5%8F%AF%E4%BB%A5%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
多年来,我一直想知道为什么我在 Gnome 2 上的 Compiz 动画不如在运行 Intel GMA 965 的旧笔记本电脑上流畅。也许这与低帧速率有关。当我运行 glxgears 时(我知道,这不是基准测试),我在 5 秒内仅获得约 300 帧的值:
$ glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
302 frames in 5.0 seconds = 60.391 FPS
300 frames in 5.0 seconds = 59.919 FPS
300 frames in 5.0 seconds = 59.921 FPS
300 frames in 5.0 seconds = 59.921 FPS
300 frames in 5.0 seconds = 59.921 FPS
文字说这个帧速率是正确的,但我不敢相信。这不太正常,因为我发现论坛条目的帧速率约为 20000 或更高。我认为我的 Nvidia GTS 250 可以做得更好。此外,软件渲染被禁用,这意味着硬件渲染实际上可以工作:
$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: GeForce GTS 250/PCIe/SSE2
GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image,
GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_OES_depth24,
GL_OES_fbo_render_mipmap, GL_OES_get_program_binary, GL_OES_mapbuffer,
谁能向我解释为什么 300 的帧速率应该是正常的,或者其他什么都不正确?
答案1
在你的输出中,你可以看到它说
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
由于您的显示器大概以 60 Hz 运行(如果它是 LCD,它们不关心刷新率),这解释了您所看到的情况,任何其他帧都会浪费 GPU 资源。
要进行真正的基准测试,您可以使用游戏或类似的东西Phoronix 测试套件。