使用或不使用VSync

| 我正在决定是否对我一直在使用OpenGL开发的新游戏使用VSync。目标是为用户提供最佳的游戏体验,并在性能和质量之间取得良好的平衡。此游戏旨在在较旧的(Intel / Netbook)计算机和较新的(NVidia / i7台式机)计算机上运行。我知道,VSync的目的是防止撕裂。即使关闭VSync,我也无法重现这个令人讨厌的问题。提供最佳体验; VSync应该打开还是关闭?     
已邀请:
关于这个问题有很多事情可以说。让我数一数: 如果您看不到流泪,则可能是vsync的,即使您认为自己不是。原因可能会有所不同,但是最终,如果发生任何移动,则在帧中间交换缓冲区非常明显(一个原因可能是您未配置为翻转缓冲区,因此必须复制帧缓冲区) vsync on也具有明显的工件。通常,它创建的帧显示时间可变,与显示刷新率相比,与显示刷新率的关系更大。这会产生微点动现象,并且很难控制,因为您不知道生成帧时会在其上显示的刻度,因此您无法补偿运动伪影。这就是为什么有些人尝试将其渲染速度锁定为刷新率的原因。始终以60fps(或30fps)进行渲染,时间更新为
time += 16.7ms
John Carmack一直在要求一种模式,该模式可以“以60Hz进行vsync,但是如果我错过了截止日期就不要同步”,因为我认为这就是原因。 vsync on可以节省电量(在上网本上很重要) vsync off减少了输入等待时间(当您的输入在显示前3帧时,它可能开始变得重要)。您可以尝试弥补其中的一部分,但最终,很难在最后一刻注入输入更新。 因此,最根本的答案是没有完美的答案。这实际上取决于您的游戏更重要。您需要看的事情:要实现的帧速率,重要的输入延迟时间,游戏中的移动量是多少,电源是一个需要考虑的问题。     
为了获得最佳的用户体验,请在菜单中放置一个选项以打开/关闭VSync。这样用户可以决定。您可能无法重现撕裂,但这在某些系统上绝对是一个实际问题。 至于默认设置是什么,我不确定,我认为这是您的选择。我更喜欢默认情况下禁用垂直同步,因为启用时它会稍微降低性能,并且大多数人不了解或不关心它,但是也有充分的理由默认启用它。     
我认为VSync的默认设置应为(基于我的所有游戏,而不是基于编程经验:))。仅仅因为您看不到它,并不意味着您不应该遵循良好的标准 实践。 也许您无法像其他游戏玩家那样凝视屏幕 也许当您看到一点点眼泪时,您就不会像某些游戏玩家那样烦恼 也许您特定的屏幕隐藏的泪液比其他屏幕好 正如schanaader所述,通常游戏会在视频设置菜单中的某个位置将vsync保留为配置选项。对于不了解vsync含义的用户,默认值仍应为“ on”,并且,如果用户足够了解,他们可以对其进行调整以查看有什么区别     

要回复问题请先登录注册