Message from C, C++ discussions

December 2019

— Imagine C# as a worse compiler that C++'s but that always compile for the native CPU you are using, meaning that it may use instructions your C++ compiler may avoid in fear of not being exactly compatible with the architecture

Message permanent page

— 

This is actually very exactly where well written C# shines. It targets the native architecture of the host that executes, not the minimal architecture that the host can execute

— .

— Hmm yeah thats true

— Meaning that instead of targeting for example, x86_64, it will target Haswell x86_64 if the game runs on a Haswell CPU

Message permanent page

— From tests runned by a colleague, C++/CLR offers about what you may want as a trade-off of the best of both worlds

Message permanent page

— But I dont know how big the difference would be for example csgo runs on my pc with around 400 fps and is written in c++ (uses slow dx9 tough) I would say in C# it would run around 350 fps all I care are the fps :)

Message permanent page

— And gpu calls are probably much slower because I need a wrapper like SharpDX

— Osu! is a game written in C# and could reach about 450fps on my potato-most computer and about 1050fps on a colleague's

Message permanent page

— This is why C++/CLR is useful. If you want to take the step through .NET it may be a good place to start

Message permanent page

— Hmm yeah - but osu is not 3d and does not have any graphic effects like volumetric lights or real time shadows for a 2d game I would immediately go with C#

Message permanent page

— Actually, Osu! uses only 3D render calls. However most of its rendering work is particules I have to concede on that

Message permanent page