Le .NET bientot remercié?

[quote=« Bussiere, post:58, topic: 55023 »][/quote]
Bonne question. Je suis sceptique sur le GC obligatoire rapport a de la perf (pseudo-temps réel, du gamedev au hasard). A voir dans 5 ans.

[quote=« AnA-l, post:59, topic: 55023 »][/quote]

Le but c’est pas de frimer, c’est de justifier mon avis :stuck_out_tongue:


Edit: Mojang, j'ai ri, les seuls qui codent en java.

Et, no offense, mais c’est pas comme si bosser sur un editeur de jeu permettait de prouver qu’on sait coder en C# ou en C++. Il y a des gens tres, tres, tres fort (coucou Count0) , j’en ai rencontre beaucoup mais meme eux admettent qu’en regle generale, le code d’un jeu est un gros tas de hack degueulasse et de code de juniors qui se prennent pour les dieux du code. Je suis sur que t’es pas un newb mais generaliser comme ca, tssk tssk tssk.

Pas assez de perfs sur la VM.NET

Ce genre de phrase sans subtilite ne veut absoluement rien dire. Et oui j'ai deja code en XNA sur 360 :)... non c'est pas l'enfer si tu sais ce que tu fais.
Source: 6 ans chez Xbox a voir passer le code de jeux codés avec les pieds qui prennent 30% d'optimisation apres 3 heures de code alors que les mecs des studios jurent dans tous les sens qu'ils peuvent pas sortir 1% de plus de leur jeu et qu'il leur faut une exception a la certif parcequ'ils tombent sous les 30FPS...

[quote=“GloP, post:62, topic: 55023”][/quote]

On a pareil ici, des mecs brillants, il reste toujours des hacks quelque part. Je ne prétendais pas prouver que je sais coder, juste, chaque langage a une utilité -  et personnellement, je trouve que si faire des tools en c++, c’est débile, faire un moteur en C#, c’est audacieux.

Oui, XNA c’est cool - j’attends de voir un cryengine ou un frostbyte la dessus par contre.

Le point de mon premier post, c’est juste que, si dépassé que soit le cpp (#include, you monster), on a pas beaucoup mieux aujourd’hui, pour faire de la perf et pouvoir compiler vers un paquet de plateformes… Dès que t’arrives sur du power-[user|dev|.*], tu peux souvent faire mieux toi même qu’en faisait confiance a un autre truc. Genre le GC. Mais oui, la plupart des gens ne peuvent faire que pire que le GC.

La maniere de faire mieux que le GC dans les jeux videos c’est a peu de chose pres de faire…

AlloueTouteLaMemoireKiVaBienDansUnGrosBlocMemoire()
ChargeToutLeNiveauDansMonBloc()
while(true) {
  getInputSansRienAllouer();
  simuleDansLaMemoireDejaAllouee();
  renderAvecLaMemoireDejaAllouee();

  siBesoinDegageDesTrucsDeMonBlocGeantPourMettreDAutreTrucs();

LibereLaMemoireOuTueLeProcessSiTFeignant();

Forcement c’est mieux quand personne touche a rien :) Le pb en C# c’est que le framework lui meme est pas avare en allocations, mais quand bien meme, quelqu’un qui sait ce qu’il fait peut faire un tres tres joli moteur.

Le problème du GC par rapport à la gestion manuelle de la mémoire (fût-elle allouée en bloc) c’est plutôt l’algo de nettoyage Glop. Entre les implémentations stop-the-world qui sont absolument incompatibles avec la fluidité d’un jeu vidéo et les implémentations concurrentes qui nécessitent énormément d’ajustements de paramètres, il est plus facile pour un programmeur de créer des allocateurs/destructeurs en C/C++ en gardant le contrôle du moment où ils sont appelés. En plus la majorité des GC ont été développés avec des algorithmes orientés services transactionnels (monde de l’entreprise oblige), et donc avec l’idée d’être optimisés pour beaucoup de petits objets alloués, vivants une courte période de temps, ce qui me semble à l’opposé du contexte du jeu vidéo.

Non.

Si si :slight_smile:

D’ailleurs.

Il est plus facile pour un programmeur de pas etre trop con et de pas coder salement. Mais c’est pas en raisonnant en mode “SAY BON LE GC IL FAIT TOU APU BESOIN DE REFLECHIR” qu’on y parvient.

(also, Gameplay code, Unity, Mono embeded. Voila j’ai lache mes buzzwords, je vous laisse vous etriper c’est rigolo a regarder)

[quote=“AnA-l, post:66, topic: 55023”][/quote]
C’est pas toi qui a arreté le dotnet depuis que tu es rentré dans un vraie boite de JV?

[quote=“kaneloon, post:69, topic: 55023”][/quote]

Pas vraiment, mais 1) je peux pas trop en causer 2) ca n’a rien a voir.

Bref, j’aime le c#, le c++ est loin d’être mort et le compact framework sur xbox 360 m’a blasé.

Point de détail, je sais pas si le Roslyn gérera la déclaration de lambda récursives, parce que Mono le fait :stuck_out_tongue:

Et je suis curieux de voir ce que va devenir le dev UI .NET, vu l’avenir incertain de WPF…

Je pense que personne n’a osé affirmer ici que le Cpp etait mort ou en passe de mourir. Oui le CF sur 360 etait bien penible et certains trucs qui paraissaient pourtant triviaux pouvaient mener a des gros problemes de perfs (Dictionary<Enum,value> anyone ?). Et meme si faire un moteur complet en .Net peut paraitre “idiot” ou “sous performant”, c’est un faux probleme. Tout choix de tech n’est qu’une question de contexte, de contraintes, et d’affinités.

Y’a bien des gens qui continuent a sortir des jeux avec Flash, et certains ont meme vendu des jeux faits avec Game Maker ou MMF. Alors bon…

[quote=« Ravine, post:72, topic: 55023 »][/quote]
Je ne pense pas avoir affirmé que quiconque ici avait affirmé que le Cpp etait mort ou en passe de mourir. :stuck_out_tongue:

Oui, une question de contexte. Ce envers quoi j’exprime mon désaccord, c’est le fait que le C#, en tant qu’avancée majeure, est une réponse à tout, justement.

Si ils avaient pas commence a tuer XNA avant qu’on ait pu faire evoluer le GC et autre optimisations orientees jeux comme par exemple le inlining intelligent de certaines fonctions on aura pu aller beaucoup beaucoup plus loin sur les perfs en managed. La premiere fois qu’on a lance le framework il faisait 3FPS avec le pauvre dophin de demo Xbox. Que 20% des jeux beneficient avec l’utilisation du C++ pour faire un truc bien specifique, oui mais avoir des perfs equivalentes a 80% des jeux de marché, avec la moitie de l’effort, c’est completement faisable. Et vu les perfs du matos recent, avoir plein de temps en plus pour s’occuper du fun au lieu du moteur, c’est pas un mauvais deal…

[quote=“GloP, post:74, topic: 55023”][/quote]
Mais tu aurais du prendre la place de Shawn, je vote pour toi !

Houla, non t’es fou. J’ai 1/100eme du talent de Shawn quand il s’agit de faire du code de framework de jeu. Je comprend juste assez pour etre dangereux et critiquer :slight_smile:

[quote=« GloP, post:74, topic: 55023 »][/quote]
Je suis d’accord avec tout ca. Et ils auraient peut être eu le temps de fixer les occlusion queries aussi :stuck_out_tongue:

Si t’en es a penser a la correction des occlusions query, c’est que t’etais pas vraiment la cible hein. C’etait quand meme une merde sur pleins de points avancés XNA. Facile a prendre en main, ouvreur de portes (pour mon cas), robuste sur la longueur et genial sur le multiplateforme, sans compter l’avantage indeniable du C#, mais vraiment, des que t’essayais de faire plus que ce pour quoi c’etait prevu, c’etait un peu la misere. Et la, clairement, t’es juste pas la cible pour ce genre de details hein.

[quote=« AnA-l, post:78, topic: 55023 »][/quote]
Multiplateforme ? PC/xbox, quoi. MonoGame manque encore de maturité, et les implems .net payantes sur iOS/Android, ca compte pas :stuck_out_tongue:

Unity3d.