小编And*_*sio的帖子

轻量级OpenGL游戏的完美V-sync实现:需要一个小小的信息

在游戏中我们的互联网组装团队正在编程,我们假设我们的观众中的每个人都将在游戏中获得全速.

因此,为了节省视频RAM,并希望为显卡提供更多的空闲时间,使用没有双缓冲的V-sync将是我们的最佳选择.因此,在OpenGL中,我们需要知道如何做到这一点.

根据我的理解,V-sync是指图形卡在完成渲染单帧后暂停,直到该帧完成发送到显示设备.双缓冲不会暂停渲染操作(或者可能是暂停渲染操作,或者可能是特定于实现;不确定),因为它会在复制到帧缓冲区之前绘制到第二个缓冲区,以便监视器获得完整帧或不根本就是新帧(具体来说,是帧缓冲区中最后存储的图像).好吧,我们不需要这个功能,只要显卡只是在它需要时才写入帧缓冲区.

这是一个非常慢的在线游戏(但它非常有创意^ _ ^).实时行动非常少.因此,非常精确的用户输入不是必需的; 它可以在渲染帧之前随时从OS捕获为单个单元.

所以,为了做到这一点,我需要能够从OpenGL获得"Frame已经完成发送到监视器"的消息.可能吗?如果没有,最好的选择是什么?

该游戏目前仅针对Windows编程,但应该在几个月内完成Linux的工作.

opengl synchronization message buffering vsync

0
推荐指数
1
解决办法
2719
查看次数

标签 统计

buffering ×1

message ×1

opengl ×1

synchronization ×1

vsync ×1