I’m pretty far along in a game engine. I started in .Net Core 2.1 but upgraded to 3.1 and .Net 5 as they were released. I don’t appear to have any issues with performance regarding garbage collection (it’s only a 2D engine), but can you think of any low level or performance based factoids that one might want to know when working on an engine in C#?

knowing how to use unsafe code and how to get inlining in csharp.
Here’s something I found real quick that can help for performance in hot paths: reublog – Performance Tuning for .NET Core (reubenbond.github.io) .
Extensions:
clr heap allocation viewer
check if inlining analyzer is supported on dotnet 5. It’s good, but didn’t work on dotnet core last time I checked
Use Benchmark.NET for micro benchmarks on parts that matter
SIMD
CPU cache, and how to make sure you are leveraging it.
The cost of linq vs using imperative loops instead.
C# devs
null reference exceptions

source