std::clock()在Windows、Mac和Linux上可靠吗?

Is std::clock() reliable accross Windows, Mac and Linux?

本文关键字:Linux clock std Windows Mac      更新时间:2023-10-16

我想用这个来比较我上次更新游戏的时间。它的精度在这些平台上是一致的吗?

谢谢

这和标准有什么关系?这完全取决于底层的实现,而且,时钟可能会受到电池、漂移、底层操作系统等的影响。

实际上,对于游戏来说,你应该使用多媒体计时器机制,这将是多媒体库的一部分,以获得你想要的精度,或者可能使用一个更好的但可移植的框架,如SDL。

这很难说,很大程度上是因为不同的人对"相当一致"的含义有根本的不同的看法。对于某些人来说,1毫秒的误差是绝对不能忍受的。对其他人来说,一分钟左右的时间就可以了。有些还取决于你愿意多久从可靠的时间来源更新他们的时钟。如果它们在Internet上,您可以(非常容易地)添加代码来使用SNTP获得相当准确的时间(如果确实有必要的话)。它们中的大多数都设置为同步它们的时钟,它们通常会保持在正确时间的几秒钟左右(除非用户禁用了它,这是相当不寻常的)。