Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как получить время в наносекундах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скорость выполнения, а так же работа с дв. файлами http://www.cyberforum.ru/cpp-beginners/thread613087.html
Здравствуйте. У меня есть несколько вопросов, на которые я уже давненько ищу ответы, а именно : 1) Для таких классов, как vector/set/map и прочих, что быстрее - iterator или ? 2) Тот же...
C++ Односвязный кольцевой список, реализовать Помогите написать и реализовать кольцевой список http://www.cyberforum.ru/cpp-beginners/thread613081.html
Работа со структурой C++
Немогу правильно скоректировать функцию удаления.Место победителей неправильно записываеться т.е удаляя первого победителя то при выводе победителей остануться только 2 и 3 место а 1 уже не будет.И...
Найти ошибку в коде. C++
#include <iostream> using namespace std; int main() { setlocale(0, ""); int c, b, a; //a - первое число; b - второе число; c - выбор операции +, -, /, *, cout << "Введите число от 1 до...
C++ Вещественный массив http://www.cyberforum.ru/cpp-beginners/thread613025.html
Дан вещественный массив А . Определить значения вещественного массива Е по правилу: E=Сумме значений i-ой строки массива А, если А>0 E=0 A<=0 Значение переменной i меняется от 0 до 4.
C++ Найти минимальную длину пути На поверхности планеты, являющейся шаром с радиусом R, заданы две точки со своими широтой и долготой. Найти минимальную длину пути по поверхности этой планеты из одной точки в другую.... подробнее

Показать сообщение отдельно
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.06.2012, 10:26
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while (Message.message!=WM_QUIT)
 {
  if(PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
  {
   TranslateMessage(&Message);
   DispatchMessage (&Message);
  }
  else
  {
   OldT=t;
   t=((double)clock())/((double)CLOCKS_PER_SEC);
   dt=t-OldT;
   Control.Refresh(dt);
   RenderView();
  }
Хотя в рефреш передаётся время, но там по часам выравнивается скорость перемещения персонажа, чем меньше прошло времени, тем меньше он должен сдвинуться, но обрабатывается любой промежуток времени, а не фиксированные 40 миллисекунд (25 кадров в секунду). А рендеринг к этому не привязан и времени не получает. На домашних машинах и в интернет-клубах не ставят систем реального времени и нельзя ни каким кодом гарантировать, что какая то функция будет вызваться с чётким промежутком. Ну измерил ты. Дальше? Если время не подошло, ждёшь? Следующее измерение можешь сделать уже через два периода, а за текущий нафигачить пару тысяч замеров. Домашние системы в столь крупном масштабе времени ведут себя на столько не равномерно, что нельзя даже после поверки по счётчика вызовов функции по часам юзать этот счётчик для времени. На секундах кое как можно, на минутах можно вполне прилично, а меньше секунды нельзя.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru