当前位置| 科技 > > 列表>详情

VSync是个不错的游戏辅助吗?GNU的链接器称为ld吗?

2023-02-28 11:20:49 来源:创视网

VSync是个不错的游戏辅助吗?

如果你的游戏的FPS可以一直稳定的大于显示器的刷新率,VSync是个不错的东西。但是如果FPS忽大忽小。VSync就是让人烦的东西。如果你的游戏FPS一直都小于刷新率的话,实际的FPS要远远小于显示卡可以显示的FPS.看上去就象是VSync降低了你的FPS,但是从技术角度讲,不是应为图像太复杂,而是因为VSync就是这样工作的。

也不是说所有的希望都没有了。现在的triple-buffering技术可以用来解决这个问题。让我们再来看刷新率75。FPS50的例子。第一桢在显示缓冲,第二桢的2/3在后备缓冲。显示器刷新第一桢第一次被显示,在后备缓冲里描画第二桢的剩下的1/3,在第二后备缓冲里描画第三桢的1/3(因为我们有三级缓冲了)。显示器再次刷新第一桢第二次被显示,第二桢放入在显示缓冲,第三桢的的1/3放入后备缓冲,第二后备缓冲里描画第三桢剩下的2/3。接下来显示器再次刷新的时候,第二桢被显示,第三桢就可以放入显示缓冲,这样我们就可以在3次刷新中得到2桢的画面。也就是刷新率的2/3,也就是50FPS.triple-buffering理论上讲可以避免缓冲写入是带来的延迟现象,这样就不会浪费时间。但是triple-buffering并不是适用于所有的游戏。实际上它并不是普及(这个文章可能写的太早,现在triple-buffering已经很普及了),而且它也会影响显示卡的性能,应为它需要更多的显示内存,需要更多时间在内存之间降数据拷贝来拷贝去。但是triple-buffering确实是一个很好的方法,既可以消除撕裂画面又可以不像普通VSync一样影响你的FPS.

我希望这篇文章是有用的,可以帮出你理解VSync的工作原理。(特别是不再犹豫是否打开VSync)总之,如果没有triple-buffering的情况下,如何权衡Vsync的FPS限制和消除撕裂画面带来的视觉感受,那将完全取决于你个人的喜好。

GNU的链接器称为ld

GNU的链接器称为ld,它负责把若干目标文件与若干库文件链接起来,并重定位它们的数据位置。在编译一个程序时,最后一步就是运行ld命令,通常ld直接由gcc负责调用,对用户程序员透明。ld能接受链接描述文件的控制,这是一种用链接命令语言(LinkerScript)写成的控制文件,用来在链接的整个过程中提供显式的、全局的控制。ld比其他链接器更有用的地方在于它提供了诊断信息。许多链接器在碰到错误的时候立即放弃执行,但ld却能够继续执行,让程序员发现其他的错误,或者在某些情况下,产生一个带有错误信息的输出文件。

如图《链接器的作用》所示说明了ld的工作内容。对于多源文件程序,每个源文件被汇编为目标文件(Object File),链接器负责把这些目标文件,以及相关的库文件链接到一起,形成可执行文件,这就是链接器的作用。

标签: 不错的吗 游戏辅助 GNU的链接器称为ld