Files
mrgameeng/docs/roadmap.md
T
Leonid PershinandClaude Fable 5 a3e6d3bb0a Stable radix sprite sort and render hot-path optimizations
SpriteBatcher now sorts with a stable LSD radix sort: equal-key sprites
keep submission order across frames (no flicker) and passes over digits
identical in all keys are skipped, making the common single-layer case
nearly free. Hot paths avoid per-sprite trig and square roots: SinCos is
skipped for unrotated sprites and the culling radius comes from the
region's precomputed diagonal.

Stress scene (100k entities, ~61k on screen, Release): 103 -> 124 FPS.
Sample now runs with VSync off to show real frame rates.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 04:39:17 +03:00

1.6 KiB

Roadmap

Базовый движок (ядро, рендер, ассеты с кодогенерацией, ввод, звук, демо) реализован — текущие возможности описаны в architecture.md. Здесь — только планы.

Пункт считается завершённым, когда покрыт тестами и показан в MrGameEng.Sample; после завершения он убирается отсюда и фиксируется в architecture.md.

Ближайшее

  • Текст: рендер шрифтов FontStashSharp через батчер движка (новый модуль MrGameEng.Text, потребует зависимости от Graphics)
  • MSBuild target для автоматической компиляции .fx.mgfx через dotnet-mgfxc (лоадер .mgfx в AssetManager уже готов; target — когда появится первый кастомный шейдер)

Бэклог

  • Physics2D (выбор библиотеки: Aether.Physics2D / своя)
  • Tilemap (поддержка Tiled)
  • Particles
  • UI
  • Бенчмарки BenchmarkDotNet для систем (сейчас производительность контролируется стресс-сценой)
  • Spatial hash для culling на очень больших мирах (если профилирование покажет необходимость)
  • Параллельная запись вершин (Parallel.For по чанкам), если упрёмся в CPU на ещё больших сценах