游戏的C ++计时器

问题描述

| 我一直在研究可用于QueryPerformanceCounter()/ QueryPerformanceFrequency()的不同类型的计时器, 在进一步研究之后,我找到了一个使用timer类的示例...它的计时器是香草的...会比Windows更好地使用它吗(我试图将我的代码保留为香草可能)还是有一些我不知道的缺点? 我正在谈论的教程在这里     

解决方法

与其他计时器相比,Windows高性能计时器具有出色的准确性和可靠性。您不会在游戏中找到更好的选择。如果要使用其他操作系统,那么您可以担心,当时间到来时,诸如渲染显示系统,音频甚至输入之类的组件也都需要重新编写。     ,您链接到的Timer类只是这个家伙制作的一些随机C ++类,基本上只是QueryPerformanceCounter +等的包装。它并不是特别好。并且也不附带许可证数据。最好自己自己实现抽象,因为它很简单,然后当它开始出现故障时您将理解它。     ,最好是实现自己的抽象Timer类。然后,可以通过对Timer进行子类化,为所需的任何操作系统包装计时功能,而无需更改任何其他代码。我认为这是最好的选择,因为听起来您正在寻找最大的可移植性。