Game Engines With C# and Rider
summary
A Pokemon-like engine is built from scratch using SDL2 and C# and shipped with two custom scripting languages that have Rider language servers; Rider’s profiling suite (Rider dotMemory/dotTrace) finds where the GC generations, LOH (>85,000 bytes) and the pinned-object heap cause hotspots. File I/O is reduced by packing 193 files into one binary with per-file headers and SHA-256 checksums. Object pools, struct-by-ref patterns and a custom marshal-based ToBytes routine cut allocations and the engine runs with demonstrably lower memory and CPU spikes.
AI-written summary · about
chapters (14)
- 0:00Introduction and background
- 2:31Understanding game engines
- 5:39Memory management basics
- 7:55Why choose C#?
- 10:56Leveraging Rider tools
- 13:15Performance profiling
- 21:22Runtime memory analysis
- 30:11Memory diffing techniques
- 32:40Optimization strategies
- 34:14Data structures and references
- 41:16Variable scope and caching
- 43:09File compression methods
- 46:55Practical code examples
- 56:30Conclusion
related talks
01h 03mF# for Performance-Critical Code
51mBuilding a Game Boy emulator in .NET Core!
39mRunning .NET on the NES
53mSafety first! Low-level C# without the unsafe keyword
53mSafety first! Low-level C# without the unsafe keyword
54mStereoKit - Architecture and Internals
01h 04mTurbocharged: Writing High-Performance C# and .NET Code
27mC# as a system language
