Войти
ПрограммированиеФорумОбщее

Высокоточный таймер на std::chrono (3 стр)

Страницы: 1 2 3 4 5 Следующая »
#30
4:37, 1 фев 2018

Aroch
1) Не представляю, как оно может дёргаться, если точная дельта компенсирует длительность каждого кадра и устанавливает соответствующий коэффициент движения за прошедший кадр...
2) Как воспроизведение звука зависит от дельты, если буферизированный звук запускается на воспроизведение и играет уже сам, а в поточном только обновляются буферы?
Видимо подход к реализации движка у нас диаметрально противоположный, на то он и есть свой движок, иначе бы проще было взять для своих проектов уже готовый.

#31
5:09, 1 фев 2018

Daniil Petrov
> Как воспроизведение звука зависит от дельты, если буферизированный звук
> запускается на воспроизведение и играет уже сам, а в поточном только
> обновляются буферы?
когда куча мелких буферов (отдельных звуков) и заранее не предсказать какой из них в какой момент будет задействован.
> Не представляю, как оно может дёргаться, если точная дельта компенсирует
> длительность каждого кадра и устанавливает соответствующий коэффициент движения
> за прошедший кадр...
а ты не представляй, реализуй да посмотри, оба способа делаются за пару минут.

#32
5:22, 1 фев 2018

Aroch
Ладно, возникнет необходимость, реализую

#33
11:09, 1 фев 2018

Ghost2
> И что по твоему при этом происходит, если поток выполняется на другом ядре?
Сваливает на нужное ведро, на котором в прошлый раз проводил измерения. Можно как воркэраунд, мол если модель процессора или версия винды ниже указанной, то пишем пользователю рекомендуемые действия(застрелиться, чтоб не мучиться) и что его комп дно и сваливаемся в воркэраунд, чтоб игра не глючила. По скорости просадок почти не будет

#34
15:51, 1 фев 2018

*Lain*

> Сваливает на нужное ведро, на котором в прошлый раз проводил измерения
Ну то есть уходит в режим ядра и вызывает решедулинг на некое ядро, которое тоже может быть занято.
Не кажется, что уже попахивает?

#35
23:08, 1 фев 2018

Ghost2
> Не кажется, что уже попахивает?
Не важно что говорят злые языки, главное что работает и работает хорошо. У тебя решедулинг все время работает. А тут он лишней раз будет вызываться не особо чаще раза в секунду. Короче обычно можно пренебречь. Короче нефиг расслаблять булки тем, кто не осилил купить новый комп. Идиоты должны страдать ящитаю

#36
7:42, 2 фев 2018

Daniil Petrov
> virtual ~Timer(void) {}
Зачем тут void?

Daniil Petrov
> return float((double)FrameLength / 1000000.0f)
Каст int64 к double, потом автокаст float к double и снова явный каст к float. Зачем?

Это первое, что бросилось в глаза. Логику не смотрел, т.к. такой стиль форматирования для меня нечитабелен.

#37
8:56, 2 фев 2018

andreyu
Исправил!

#38
10:52, 2 фев 2018

Чем <chrono>  предпочтительнее <time.h> ?

#39
11:04, 2 фев 2018

Daniil Petrov
> Исправил!
> return float((double)FrameLength / 1000000.0);

Да как-то не очень исправилось :)
Я бы сделал так:

return FrameLength / 1000000.0f;
#40
11:07, 2 фев 2018

bykabak
<хромо> более крестовый. Тайм.н имеет рандомные характеристики реализации. А хромой частично их специфицирует

#41
11:21, 2 фев 2018

*Lain*,
<хромо> более крестовый. Тайм.н имеет рандомные характеристики реализации.

А можно на простом русском языке ?

крестовый - ?  ( С++ )

рандомные характеристики реализации - ?

В чём будут неточности или проблемы, если использовать Time.h ?  Я понимаю,  что написано на C  и old School. Но чем чревато ?

#42
11:51, 2 фев 2018

andreyu
Исправил :) просто я в таких тонкостях ещё не спец!

#43
13:15, 2 фев 2018

Daniil Petrov
> Исправил :) просто я в таких тонкостях ещё не спец!
Теперь пришло время заменить __int64 на int64_t, а так же вспомнить про c++11 и using вместо монструозного std::chrono::high_resolution_clock и Ко.

#44
13:28, 2 фев 2018

long long уже в С++11
using только в *.cpp, в заголовках всегда полные имена

#44
13:46, 2 фев 2018

andreyu
> Теперь пришло время заменить __int64 на int64_t,
А чем они отличаются?

andreyu
> а так же вспомнить про c++11 и using вместо монструозного std::chrono::high_resolution_clock и Ко.
А как именно его использовать?

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.