Our gizmo performance is, terrible. At certain scene sizes it completely falls apart and turns the editor into a stuttery mess.

This week we've taken the first steps to fix that and optimized the draw performance of Gizmos.

For example, the My Summer Cottage main scene gizmo draw time went from 55ms to 19ms. 
This is a lot better, but still too high, so you can expect some more love for Gizmos in the future.
We tracked down an issue with VSync and our frame limiter that could cause micro stutter and added input latency.

With VSync enabled, the screen only shows one frame per refresh. So if fps_max is set higher than your refresh rate, the game runs frames faster than it can display them, and they pile up waiting to be displayed.
The result is uneven frame times, some 5ms, some 30ms, which can be perceived as micro stutter even when your average fps looks perfectly healthy.
It also adds input latency, since each finished frame sits waiting a few refreshes before it ever reaches the screen.

To help diagnose frame pacing issues, we also added overlay_fps, an on-screen pacing overlay with a live frametime strip, a distribution histogram, and GPU time. 
You can split Movie Maker keyframes into separate blocks in the context menu.
Keyframes from separate blocks can overlap, letting you do a hard cut between values while still interpolating on either side.
We have a HtmlPanel type which renders just a bunch of HTML into our UI, sort of like rich text. We use this on the pause menu and other stuff instead of using an expensive web browser.

These were missing a bunch of styles and looked like shit. Now it all looks like you edit it on the package page.
Big thanks to community contributor Josh Mobley, whose pull requests fixed a bunch of networking reliability issues.
Lobbies created at startup now behave like async ones, so Networking.IsActive reads correctly right from OnStart instead of lagging a frame behind, and host-authoritative SyncFlags.FromHost properties no longer get quietly stomped by client refresh messages. Also singular snapshots could occasionally arrive stale, which is now sorted.

On top of the correctness fixes, idle players are no longer at risk of being dropped: heartbeats are now sent as reliable packets, so sitting still won't get you kicked for "doing nothing". And if you're the one digging into all this, Josh also cleaned up the Debug Network Calls overlay to make it much clearer what's actually going across the wire.



We've been using Box3D for the better part of a year now, since it's inception as a fork from Rubikon.
Today it has been announced and is free and open-source on GitHub.
GitHub
GitHub - erincatto/box3d: Box3D is a 3D physics engine for games
Box3D is a 3D physics engine for games. Contribute to erincatto/box3d development by creating an account on GitHub.
Huge congratulations and thanks to Erin Catto on the release - Box2D has been a cornerstone of game physics for years, and Box3D carries that same pedigree into 3D.
26.07.01
26.07.01
1 July 2026
🎁 Added
  • Movie keyframe connection modes (_Default_, _StartBlock_, _EndBlock_) with Split and Join operations, allowing overlapping keyframes for hard cuts.
  • `overlay_fps`, an on-screen frame pacing overlay showing a live frametime strip, distribution histogram and GPU time for diagnosing frame delivery.
  • HtmlPanel now styles `h2`, info, warning, success and strikethrough elements to match how they render on the web.
  • Undo/redo and full JSON operation support for binary data, so embedded terrain operations carry their binary payload across edits.
🧼 Improved
  • Editor gizmo drawing is dramatically faster — the handle cache is now respected and per-object LINQ/texture loads were removed (MSC main scene dropped from 55ms to 19ms).
  • Directional shadows are skipped for the 3D skybox, saving 64MB of memory.
  • Orthographic views now sort sprites by view-axis Z instead of distance for correct ordering.
  • Reduced navmesh allocations and tuned the network compression pool target span for lower overhead.
  • Window activation/focus events now work on any platform by handling them through SDL instead of Win32.
  • The ShaderCompiler can recompile `shader_c` files against the current engine shader sources.
  • Benchmark runner improvements, now exposing P50 (median) timings that are more resilient against hitches when comparing regressions.
  • Network debugging improvements and heartbeats are now sent as reliable packets to avoid being kicked while idle. Thanks @DEADMONSTOR!
🪛 Fixed
  • Fixed vsync micro stutter and input latency when `fps_max` is set above the monitor refresh rate by clamping the cap and restoring drift compensation.
  • Fixed gizmo regressions in the editor.
  • Fixed painting at full opacity not removing all residuals.
  • Fixed `IsSceneSaved` not being evaluated for `ShowIf`/`HideIf`, and fell back to reflection to access internal members in conditional visibility attributes.
  • Fixed a mix-thread use-after-free by reference counting `CAudioStreamManaged`.
  • Fixed a malformed package exception.
  • Fixed map compiling by removing path narrowing/stripping that only made sense for CS2/Dota mods.
  • Fixed a debug assert that always fired for recursive references at higher ref depths.
  • Runtime flags are no longer persisted.
  • Storage arrays are now hidden in the terrain storage editor.
  • Fixed `Networking.IsActive` not being true `OnStart` by mimicking how `CreateLobbyAsync` creates lobbies. Thanks @DEADMONSTOR!
  • Fixed `SyncFlags.FromHost` properties being overwritten by client refresh messages. Thanks @DEADMONSTOR!
  • Fixed singular snapshots receiving a stale snapshot. Thanks @DEADMONSTOR!
trophy 1985
Apr 2021 236 posts
Update 26.07.01 : news/update-26-07-01
trophy 550
Aug 2021 2 posts
Very nice.
trophy 325
Jul 2023 58 posts
🔥🔥🔥 Thx a lot for the gizmos optimization!
trophy 2707
Aug 2022 16 posts
I love rod and grafis

trophy 0
Jul 2024 21 posts
HtmlPanel Styles

I hate to break it to you, but you seem to be accidentally coding a web browser. Happens to the best of us. HTML and CSS are amazing. You take a bit here, a bit there, and before long you have a fully featured-web browser completely by accident.

My condolences.
trophy 1781
Jul 2022 47 posts
"okay" update compared to the others
trophy 2588
Sep 2021 279 posts
that isn't a bad devblog, more tech improvements, we're waiting for gamejam 😘
trophy 605
Aug 2021 19 posts
Steak Wednesday
trophy 2942
Oct 2021 5 posts
W
trophy 2335
Feb 2024 66 posts
awesome
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.