A ver, desde el punto de vista del procesamiento rinde más C++, pero algunas instrucciones son super arcaicas. En C# / Java es mucho más fácil pillarlo todo al vuelo y tienen muchos métodos "prefabricados" que en C++ hay que hacer a pelo, si internamente mejorase el rendimiento un poco se apostaría más por él.
Es que depende bastante del punto de vista. La máquina traga más y mejor C++. Pero no quiere decir ésto que C++ sea dios, sino que las consolas, los entornos de devkits de PC, las APIS (OpenGL, DirectX, etc), toooooodo está optimizado en base a C++, mover todo eso a otro lenguaje sería una tarea muy costosa.
Pero desde el punto de vista del programador, C# es la hostia porque plasmas mucho más rápidamente en código lo que quieres hacer. Aunque sepas que va a rendir menos, es más rápido, más fácil de usar, tiene más métodos, más instrucciones, mejores implementaciones...
Claro, qué pasa, que C# de forma nativa lo utilizan 4 trastos. Casi todo lo que se puede hacer funcionar con C#/Java corre por debajo en C++, de ahí que pierda rendimiento, primero se tienen que comunicar :/ Por ejemplo Android su núcleo es C/C++ pero las apps se programan en Java/C#. Por eso tener 1GB de RAM y un QuadCore en un dispositivo Android no es mucho xDDDDDDDDDDDDDDD
Pero vamos, si empiezas a construir una torre enorme con X base de ladrillos y cuando vas por el piso 2500 quieres cambiar la base lo tienes jodido
pues con ésto igual. Suerte hasta que OpenGL por ejemplo permita funcionar con algo que no sea C++
PD: El primer comentario era mío, no de NaN. Lo digo por si te ha parecido una burrada muy grande, que la he soltado yo
De todas formas tampoco pienses que es una ida de olla muy grande, eh? Hay motores, como Unreal Engine (sí, ése que es la polla y sólo va a ser next gen en PC y blablabla), que aunque su núcleo está escrito en C++, luego trabajan con UnrealScript, C#... Unity también está escrito en C++ y luego trabaja con C# y JavaScript. Y CryEngine usa LUA. Vamos, que C++ a pelo tampoco está "Everywhere".