Macが起動してからミリ秒を取得する関数を見つけました。
U32 Platform::getRealMilliseconds()
{
// Duration is a S32 value.
// if negative, it is in microseconds.
// if positive, it is in milliseconds.
Duration durTime = AbsoluteToDuration(UpTime());
U32 ret;
if( durTime < 0 )
ret = durTime / -1000;
else
ret = durTime;
return ret;
}
問題は、約20日後、Macが再起動されるまでAbsoluteToDurationが常にINT_MAXを返すことです。
以下の方法を使用しようとしましたが、機能しましたが、gettimeofdayの方が時間がかかり、ゲームの速度が少し遅くなるようです。
timeval tim;
gettimeofday(&tim, NULL);
U32 ret = ((tim.tv_sec) * 1000 + tim.tv_usec/1000.0) + 0.5;
あるエポックから(できればアプリが起動してから)経過したミリ秒数を取得するためのより良い方法はありますか?
ありがとう!