Commit Graph
16 Commits
Author SHA1 Message Date
anth64 d76767a64a feat(server): mark idle time around tick sleep gap 2026-09-07 23:02:05 +02:00
anth64 129b5339e1 feat: split frame/tick diagnostics into work/total/budget 2026-08-24 17:23:35 +02:00
anth64 55fc4958f7 feat: wire fps diagnostics into video present/init
Also fixes frame_budget_ns being left unset when vsync paces
presentation without an explicit sleep (present_fn == present), and
exposes it as skele_frame_budget_ms for reporting alongside the
sleep-based capped path.
2026-08-23 17:44:04 +02:00
anth64 db05df4227 feat: add tick processing/idle time diagnostics
Tracks actual tick work duration and idle/sleep time separately from
tick rate, via zero-arg begin/end pairs (skele_clock_tick_begin/end,
skele_clock_idle_begin/end) rather than passed timestamps, since the
prior interval-between-calls approach just measured the fixed tick
period, not real processing cost.
2026-08-23 17:43:57 +02:00
anth64 5ad0ddfbc0 feat: add fps module for rolling frame/fps diagnostics
Real-time 1-second rolling window, independent of tick rate or
display refresh.
2026-08-23 17:43:51 +02:00
anth64 55055a042d feat: add vsync-priority frame pacing to video backends
Present now dispatches through a function pointer chosen at init and
re-chosen by two new runtime setters: real vsync if requested and the
driver grants it, else a manual sleep-based cap (auto-detects display
refresh rate, falls back to 60fps if that can't be queried), else
fully uncapped. skele_video_using_vsync() reports what was actually
granted; skele_video_set_vsync()/skele_video_set_max_fps() let a game
change either live without tearing down the renderer/GL context.
2026-08-23 17:06:33 +02:00
anth64 ddaeafc14f docs: write README 2026-08-19 22:05:32 +02:00
anth64 c4bed2f596 refactor(video/sdl): dedupe scale computation and use calloc for framebuffer 2026-08-19 21:53:18 +02:00
anth64 4e7049f49a refactor(input/sdl): store key/pad/mouse button state as bitmasks 2026-08-19 21:49:59 +02:00
anth64 0d0590a4d7 feat: add mouse button down/held tracking 2026-04-23 21:13:43 +02:00
anth64 b1b3596648 feat: add borderless fullscreen option 2026-04-22 22:02:06 +02:00
anth64 04ae96f1b8 fix(video/sdl): expand palette manually to avoid SDL_SetTexturePalette unavailable on FreeBSD 2026-04-20 07:58:12 +02:00
anth64 8ecb7f9563 refactor: remove unused skele version funciton 2026-04-11 21:36:48 -04:00
anth64 588ad3e525 refactor: remove unecessary scope block 2026-04-11 21:27:59 -04:00
anth64 a3728bed78 fix: examples should now have correct game loop structure with accumulator 2026-04-11 21:27:36 -04:00
anth64 5aaecdeac6 initial commit 2026-04-06 13:27:44 -04:00