/** Copyright 2010-2018 Branimir Karadzic. All rights reserved.* License: https://github.com/bkaradzic/bx#license-bsd-2-clause*/#include "bx_p.h"#include <bx/timer.h>#if BX_CRT_NONE# include "crt0.h"#elif BX_PLATFORM_ANDROID# include <time.h> // clock, clock_gettime#elif BX_PLATFORM_EMSCRIPTEN# include <emscripten.h>#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT# include <windows.h>#else# include <sys/time.h> // gettimeofday#endif // BX_PLATFORM_namespace bx{int64_t getHPCounter(){#if BX_CRT_NONEint64_t i64 = crt0::getHPCounter();#elif BX_PLATFORM_WINDOWS \|| BX_PLATFORM_XBOXONE \|| BX_PLATFORM_WINRTLARGE_INTEGER li;QueryPerformanceCounter(&li);int64_t i64 = li.QuadPart;#elif BX_PLATFORM_ANDROIDstruct timespec now;clock_gettime(CLOCK_MONOTONIC, &now);int64_t i64 = now.tv_sec*INT64_C(1000000000) + now.tv_nsec;#elif BX_PLATFORM_EMSCRIPTENint64_t i64 = int64_t(1000.0f * emscripten_get_now() );#elif !BX_PLATFORM_NONEstruct timeval now;gettimeofday(&now, 0);int64_t i64 = now.tv_sec*INT64_C(1000000) + now.tv_usec;#elseBX_CHECK(false, "Not implemented!");int64_t i64 = UINT64_MAX;#endif // BX_PLATFORM_return i64;}int64_t getHPFrequency(){#if BX_CRT_NONEreturn INT64_C(1000000000);#elif BX_PLATFORM_WINDOWS \|| BX_PLATFORM_XBOXONE \|| BX_PLATFORM_WINRTLARGE_INTEGER li;QueryPerformanceFrequency(&li);return li.QuadPart;#elif BX_PLATFORM_ANDROIDreturn INT64_C(1000000000);#elif BX_PLATFORM_EMSCRIPTENreturn INT64_C(1000000);#elsereturn INT64_C(1000000);#endif // BX_PLATFORM_}} // namespace bx
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。