Форум программистов, компьютерный форум CyberForum.ru

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

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

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 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 кадров в секунду). А рендеринг к этому не привязан и времени не получает. На домашних машинах и в интернет-клубах не ставят систем реального времени и нельзя ни каким кодом гарантировать, что какая то функция будет вызваться с чётким промежутком. Ну измерил ты. Дальше? Если время не подошло, ждёшь? Следующее измерение можешь сделать уже через два периода, а за текущий нафигачить пару тысяч замеров. Домашние системы в столь крупном масштабе времени ведут себя на столько не равномерно, что нельзя даже после поверки по счётчика вызовов функции по часам юзать этот счётчик для времени. На секундах кое как можно, на минутах можно вполне прилично, а меньше секунды нельзя.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru