Я пишу игру, которая должна работать на нескольких платформах.Мне нужна хорошая точность времени на всех платформах.
Мне не интересно знать время суток, для меня важно время, прошедшее между двумя вызовами.
После прочтения документации, 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?Что такое "Се"?Должен ли я вообще заботиться об этих платформах?
Другим вариантом может быть использование времени SDL из Pygame.Похоже, что с точностью до миллисекунды на каждой платформе.Так как я использую SDL для рендеринга, я не против этого.Однако сейчас я работаю над сетевым кодом, и использование времени SDL в моем сетевом коде кажется немного странным.
Вопрос: что бы вы предпочли использовать и почему?