이중 사용 위해 clock_gettime이 함수 점점 시간을 가지고 잘리지 : 쉐이더로 보내기쉐이더 시간 유니폼 - 위해 clock_gettime은
// return current time in milliseconds
static double time_get_ms(void)
{
struct timespec res;
#ifdef ANDROID
clock_gettime(CLOCK_REALTIME_HR, &res);
#else
clock_gettime(CLOCK_REALTIME, &res);
#endif
return (double)(1000.0*res.tv_sec + res.tv_nsec/1e6);
}
이 떠 전환이 필요합니다. 가수가 오버 플로우되어 셰이더로가는 길에 잘립니다.
예 : double로
= float로서 1330579093642.441895
= 1330579111936.000000
플로트 값 의한 절단에 장시간 단수에 걸리면.
또한 res.tv_sec의 초 값도 float 값으로 큰 것으로 보이고 GPU로가는 도중 잘리고 있습니다.
응용 프로그램 실행 이후 시간을 측정하려고 시도하고 동일한 문제가 발생하는 경우가 많습니다.
그래서 셰이더에 실행 시간 값을 가져 오는 가장 좋은 방법은 무엇입니까? 리눅스 세계에서 플랫폼을 교차시키는 것 (IOS, Android, Linux).