OVH Cloud OVH Cloud

C# et Directx . . .

3 réponses
Avatar
Sayajin
Salut,

Le développement d'applications 3D en c# sont-elles aussi puissantes que si
elles étaient développée en c++ ? Le machine virtuelle ne réduit-elle pas la
puissance ?

Merci

3 réponses

Avatar
Cyber Sinh
Sayajin a écrit :
Salut,

Le développement d'applications 3D en c# sont-elles aussi puissantes que si
elles étaient développée en c++ ? Le machine virtuelle ne réduit-elle pas la
puissance ?

Merci





Bonjour,
Un code managé met plus de temps à se lancer (le temps de la compilation
JIT), mais une fois compilé en code natif, les performances sont en
théorie identiques à ce que l'on peut obtenir en C++ non managé.
Toutefois, C# ne dispose pas de pointeurs comme on peut en connaitre en
C++ et cela peut amener à des différences de perf dans le cas
d'application dite "lourde" type 3D. N'ayant pas fait d'expérience de ce
type, je ne peux pas te dire dans quelle mesure...
Enfin, sache que Age of Empire III a été entièrement écrit en Managed
Direct3D et cela a l'air de plutot bien marcher...

Au final, je pense que tu peux utiliser le langage qui te plait le plus !

Voilà
Cyber Sinh
Avatar
Sayajin
"Cyber Sinh" a écrit dans le message de
news: 437bade9$0$28138$
Sayajin a écrit :
Salut,

Le développement d'applications 3D en c# sont-elles aussi puissantes que
si elles étaient développée en c++ ? Le machine virtuelle ne réduit-elle
pas la puissance ?

Merci



Bonjour,
Un code managé met plus de temps à se lancer (le temps de la compilation
JIT), mais une fois compilé en code natif, les performances sont en
théorie identiques à ce que l'on peut obtenir en C++ non managé.
Toutefois, C# ne dispose pas de pointeurs comme on peut en connaitre en
C++ et cela peut amener à des différences de perf dans le cas
d'application dite "lourde" type 3D. N'ayant pas fait d'expérience de ce
type, je ne peux pas te dire dans quelle mesure...
Enfin, sache que Age of Empire III a été entièrement écrit en Managed
Direct3D et cela a l'air de plutot bien marcher...

Au final, je pense que tu peux utiliser le langage qui te plait le plus !

Voilà
Cyber Sinh



Okeedokee, merci ! Plus un langage est simple plus il est plaisant ;o)))
Avatar
Lloyd Dupont
> Toutefois, C# ne dispose pas de pointeurs comme on peut en connaitre en
C++ et cela peut amener à des différences de perf dans le cas


Faux!
On peut utiliser les pointeurs en C# aussi!
cela dis c'est pas tres courant, ca necessite de compiler avec le flag
unsafe et marque les classes/methode unsafe, et aucune API du SDK .NET
utilise les pointeurs.
par contre on peux pas uiliser les bitfield. (mais on peut faire des unions)
enfin bon, les pointeur on s'en passe, generalement ;-)
par contre, meme si theoriquement les appli C# devrait etre aussi (voire
plus) rapide que les appli C++, en pratique elle 'souffre' d'une baisse de
performance moyenne de....
.. ta-tam....
environ 5%
en bref on s'en fout!