【发布时间】:2012-03-10 11:19:50
【问题描述】:
我正在编写一个可以在多个平台上运行的游戏。我需要在所有平台上都具有良好的时间准确性。
我对知道一天中的时间不感兴趣,对我来说重要的是两次通话之间经过的时间。
阅读文档后,time.time 在 Linux 上的显示效果更好,而 time.clock 在 Windows 上的效果更好。 我想写这样的东西:
import os
import time
__all__ = ['hrtime']
platform = os.name
if platform == 'posix':
hrtime = time.time
elif platform == 'nt':
hrtime = time.clock
else:
# 'os2', 'ce', 'java', 'riscos'
raise ValueError("I have no idea what I'm doing.")
但是其他平台呢? MacOS 是否返回 {posix}? cygwin怎么样,是Linux还是Windows?什么是'ce'?我是否应该关心这些平台?
另一种选择是使用 pygame 中的 SDL 时间。这似乎在每个平台上都有毫秒的精度。由于我使用 SDL 进行渲染,我不介意使用它。不过,我现在正在处理网络代码,在我的网络代码中使用 SDL 时间感觉有点奇怪。
问题:您更愿意使用什么,为什么?
【问题讨论】:
标签: python time cross-platform