Re:What's new in C# for Godot 4.0
by Thaxll on Sunday February 26, 2023 @09:10AM
(#34945658)
CoreCLR is not built for game, the fork from Unity is so there is little chance that CoreCLR is faster.
[ Parent
| on HN ]
Sorry but that makes no sense.
Here are quotes from the C#/.NET group director at unity about how the migration to CoreCLR should bring a large perf boost:
"One thing that should help in the future is the migration to CoreCLR that should provide a great boost in terms of performance."[1]
"What we have seen, outside of Unity, is that performance with CoreCLR compared to Mono should range from 2x to 10x faster." [2]
[1] https://forum.unity.com/threads/performance-optimizations-fo... [2] https://forum.unity.com/threads/expected-performance-of-new-...
"outside of Unity"
Because unity is not yet on CoreCLR. But unity shouldn‘t be much different to other applications. Jetbrains moved Rider only a few years ago to .NET Core, and everything became much snappier (it was on on .NET 4.x on windows and on mono for Linux/Mac before, which was even slower than the windows only full framework)
Is it also webscale? /s
What are the specific requirements for games? C++ is also not built for games. It’s built for anything, including games.
Consistent low latency, perhaps.
I don't see a lot of options how you should optimize that, besides using allocation free code. .NET (Core) did a lot of work into this direction for Kestrel HTTP server already (Span, ref structs). It's still a managed platform with a garbage collector, but I don't think games have such low-latency requirements, that can't be handled with the standard garbage collector. A few milliseconds are usually fine for games, even with 120Hz the time between two frames is still 8ms. And garbage collection can be suspended during critical phases.
Re:What's new in C# for Godot 4.0
by jackmott42 on Sunday February 26, 2023 @09:19AM
(#34945722)
This is not correct, as can be readily proven to yourself by measuring.
This claim would make more sense if the Mono was heavily optimized specifically for games, which is not the case. CoreCLR is heavily optimized period