Well, reading up more on the Unity Burst compiler and it looks like this is exactly what they're doing. Non-GC subset of C#.. So structs only, data stored mostly within the "Job" and on the stack (and presumably some "engine data" you can access safely (but not own or delete)?)https://twitter.com/ssylvan/status/976233614349225984 …
I would certainly agree with that—it’s why Rust is a good language for game/graphics development after all :) But the hard part is how to make an ergonomic and memory-safe environment that takes advantage of that fact. I’m not convinced that an easy solution exists.
-
-
For Unity, problem is being solved with a subset non-GC C# lang and a Job system that controls what data can be safely scheduled. It works pretty well for an ECS workflow, but it would not be practical outside this controlled environment or if you even want to use "just" a string
-
I kind of wonder whether anyone has actually tried putting a zero-latency GC into practice in games. If pauses are so bad you’re willing to sacrifice any amount of throughput to eliminate them, the GC literature has you covered…
- 2 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.