TGViewer
Random Rust Dev Random Rust Dev @random_rust_dev · 472 subscribers
Post #232 713
Занимался сегодня рефакторингом небольшого крейта gametime.
Сделал чистку всех предупреждений с clippy::pedantic и задокументировал всё, хоть и минимально.

В крейте функционал для работы со временем в играх.
И минимум сложностей.

Во первых TimeStamp - точка во времени с наносекундной точностью. Относительно чего-то. Обычно относительно того, откуда они берутся.

TimeSpan - промежуток между меньшим и большим TimeStampами. Почти как Duration, но лишь u64 наносекунд.

Clock - часы. Связывают монотонный таймер core::time::Instant и TimeStampы. Генерирует ClockStep, на каждый вызов Clock::step, где есть текущий TimeStamp и TimeSpan между текущим и предыдущим.
Предполагается использовать Clock в главном цикле, делать Clock::step в начале каждой итерации и раздавать ClockStep везде, где нужно знать время.

GlobalClock - как Clock, но используют единую для процесса точку отсчета. Требуется std и global_reference фича

ClockRate - часы со скоростью. Использует внешний источник TimeSpan, генерирует ClockStep с указанной относительной скоростью. Без накапливаемой потери точности.
Удобно для контроля времени в симуляции. Паузы, буллет таймы, перемотки. Просто вся симуляция должна использовать ClockStep из ClockRate, а не общего Clock.

FrequencyTicker - генератор тиков с заданной частотой. Использует внешний TimeSpan и возвращает итератор по ClockStep тиков, произошедших в течение этого времени. Без накапливаемой потери точности.

Ознакомиться с кодом можно здесь.
https://github.com/zakarumych/gametime
GitHub GitHub - zakarumych/gametime: Time calculations oriented for games Time calculations oriented for games. Contribute to zakarumych/gametime development by creating an account on GitHub.
  • 🔥 9
More from @random_rust_dev
  1. Sep 20, 2026И всё же ИИ отличная штука. Никакой поисковик не мог мне дать ответ на вопрос, почему шурш…
  2. Sep 20, 2026Скелетор злодей, но не врун
  3. Sep 18, 2026Я попросил GPT Astra повысить производительность Alkahest. GPT смог прогнать профайлер и у…
  4. Sep 16, 2026PC gaming with extra steps
  5. Sep 14, 2026Сегодня снова загадка. Вот в этом коде будет ли соптимизирован bound check в последнем выр…
  6. Sep 13, 2026Чуть не забыл. Поздравлчю всех с днём промпт-инженера!
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →