4 ms·
So, technically, they took into account what parts of C++ are used to optimize a game and they made them low-hanging fruits for C# devs?
by johnnycerberus 6y ago
So, technically, they took into account what parts of C++ are used to optimize a game and they made them low-hanging fruits for C# devs?
- pjmlp 6y agoC# has plenty of low hanging fruits, more so since C# 7.0, it is a matter of people to learn how to use them. As of C# 9: - value types - proper memory slices - ability to do stackalloc in safe code - readonly structs - generics for blittable types - zero allocation pipelines - using without IDispose for structs without implicit boxing - return scope for zero copy struct parameters - native function pointers - static lambdas - GC free code regions What HPC# and Burst bring to the table is an enforced GC free code and a compiler that is special purpose for a game engine, taking that knowledge into consideration when generating native code, for example remapping SoA into AoS and similar.