У меня проблема с использованием clock() в OSX. Я просто хочу показать время, прошедшее с момента запуска моей программы. Дело в том, что когда я разделяю структуру clock_t на CLOCKS_PER_SEC, я получаю странные результаты.clock() и CLOCKS_PER_SEC на OSX 10.7
Запуск моей программы в течение 10 секунд покажет 1.0. CLOCKS_PER_SEC установлен на 1 000 000 в моей системе.
Вот пример моего кода:
//startTime = clock() at the start of the program
//This is called in each program loop
elapsedTime = (double)(clock() - startTime)/CLOCKS_PER_SEC
Если я делаю ElapsedTime * 10 я получить точное значение в секундах. Я не сплю и не жду вообще во время выполнения программы.
Любая помощь в понимании того, что происходит, будет действительно оценена.
EDIT:
Хорошо, я исправила бросок, но это не меняет тот факт, что если я запускаю программу в течение 10 секунд я получаю 1,0, 1 секунда составляет 0,1. Это то, чего я не понимаю. Мой CLOCKS_PER_SEC похож на CLOCKS_PER_TEN_SEC.
Что вы делаете между двумя вызовами 'clock()'? –
Просто рисуйте простую картинку с помощью SFML. (не задействовано ограничение fps). Я также показываю elaspedTime на каждом кадре, и я вижу, что каждая секунда добавляет около 0,1 к прошедшему времени. – Elendir
Тогда, возможно, большая часть обработки выполняется графическим процессором и не подсчитывается 'clock()'. –