В настоящее время я пишу двигатель SDL2, и он работает довольно хорошо до сих пор, но есть одна проблема, которую SDL2 не может решить: приличный таймер. Прямо сейчас, он использует таймер по умолчанию SDL2, но он поддерживает только миллисекунду; и это не очень хорошо для измерения FPS. Основная проблема заключается в том, что между 500FPS и 1000FPS нет ничего, поэтому это одно или другое. Очевидно, потенциальные геймеры хотели бы что-то более точное, чем это, и получение точных средних из этих чисел почти невозможно.C++ Кросс-платформенный наносекундный/микросекундный таймер?
Итак, мой вопрос в том, есть ли библиотеки часов, которые могут обеспечить измерение времени на наносекунду/микросекунду (желательно, первое) на Windows, Mac и Linux? (Может быть, даже Android и iOS, но это немного растягивается.)
Если нет, существуют ли разные библиотеки для каждой ОС, я мог бы просто #if WINDOWS
или что бы еще получить наносекундную/микросекундную синхронизацию?
EDIT: В комментарии указывалось, что здесь должна быть какая-то дополнительная информация, поэтому я использую C++ 14, а также буду на Mac и Linux. В Windows я использую MSVC (Visual Studio), и я планирую использовать XCode на Mac и не слишком уверен в Linux. Будет как друг.
Вы используете 'C++ 11' или более поздней версии? –
@MohitJain Я добавил дополнительную информацию к сообщению. – Vulkan
Вы можете выбрать решение из: http://stackoverflow.com/questions/2808398/easily-measure-elapsed-time –