les allocations sont similaire a l'utilisation de Doug Léa :
deux tas differents, l'un pour les petites allocations et l'autre pour les grandes allocations
lorsque tu souhaites allouer petit, l'allocateur pioche dans un pool memoire ou tous les blocs ont la meme taille
lorsque tu souhaites allouer grand, l'allocateur regarde dans une liste chainée si un bloc convient, sinon il casse un gros bloc en deux
en gros quoi.
Tu l'as très bien expliqué, "Write once, run everywhere". L'enjeu est décrire des applications portables plus facilement, de n'avoir presque rien à changer dans le code quand tu passes d'une console de jeux (c'est pas encore ça ) à un téléphone mobile de dernière génération puis à un PC. J'ai participé à la conférence du Paris Java Users Group hier soir et un des intervenants a fait allusion à une démonstration technique de Java sur Wii avec JOGL Ca m'a fait très plaisir. C'est encore du bricolage mais ça avance. Un des enjeux pour l'Id Tech 5 est bien la portabilité, l'industrie du jeu vidéo se soucie de cet aspect car il y a un vrai marché sur Mac.
DirectX n'est pas portable, les utilisateurs de Linux sont condamnés à l'émuler et je ne sais pas s'il est possible de faire de même sous Mac.
Je ne suis pas du tout d'accord et j'ai déjà dit pourquoi.
je peux plus utiliser java à cause du fameux plantage de désinstallation de java 1.6 que j'ai voulu désinstaller après qu'il m'ait choppé un virus par firefox, et que sur le site de sun ils expliquent démerdez vous pour nettoyer les 50 dossiers, les executables planqués et les 300 entrées de registres que java a foutu un peu partout dans la machine et si vous en oubliez un seul faut tout recommencer (j'ai essayé pendant 1 journée avec regEdit, ccleaner, regCleaner, 50 recherches... et puis j'ai laissé tomber) traduction: on est occupé sur les mobiles alors l'émulateur pourri pour micro on en a rien à foutre.
je suis vachement content c'est l'occasion de me débarasser des soft java qui me pétaient la ram et le cpu et plantaient toujours au bout d'une heure
ce qui est très rigolo avec un interprétateur de langage externe qu'on embarque pas dans l'appli, c'est que le jour où il part en couille, tout le boulot qui est fait avec est foutu et c'est marrant de voir la tête que tirent les mecs qui voient des années de travail partir en miettes
et puis y'a le nouveau super java de microsoft histoire de faire la même bêtise que les copains, depuis qu'ils ont intégré du ms framework dans 3dsMax le temps d'installation a été multiplié par 1000 et il y'a plein de gadgets moches qui font tout ramer la machine, c'est génial on se sent pas du tout pris pour des trouduc au moins
ha oui et l'internet suit la mode, y'a pas de raison, un engouement pour les sites bourrés d'ajax comme ça on est sûr qu'à chaque update de navigateur ça va planter et que le client va devoir surfacturer une mise à jour... c'est malin ça la stratégie du service après vente payant à cause que c'est même pas notre faute si c'est de la camelote, je vous laissez faire le rapprochement avec java, ms framework, etc...
c'était ma contribution au troll java
voilà voilà
Tu ne m'as pas compris. J'étais sur le second degrés.
Si tu lis bien ceux qui sont contre Java pour les jeux "AAA", ils disent qu'il faut obligatoirement utiliser le C++ et directX a cause de la vitesse. Or le C est beaucoup plus rapide que le C++ (il n'y a pas de polymorphisme, pas d'exception, etc... en C). Mais c'est très difficile d'utiliser directX en C. Donc ils se rabattent sur le C++ comme langage indispensable pour les jeux. Si directX était en Java, ils diraient que l'on ne peut faire des jeux AAA qu'en Java.
quand ça peut se transformer en run nowhere il faut se méfier"Write once, run everywhere"
pour faire des jeux avec ce système sans débourser des millions y'a directement des moteurs tout faits pas cher avec leurs scripts (torque, unity...) même si la durée de vie de ce genre de moteurs discount laisse à désirer on peut quand même sauver un executable qui marche en l'état sur les config pour lesquelles il était prévu à l'époque où le moteur marchait à peu près... après pour le portage on est un peu coincé alors que si on était parti sur un moteur plus modeste codé maison qui se contente de marcher sur windows on l'a déjà un tout petit peu moins dans le cul
miser sur du java pour des applis consommables ephémères pourquoi pas mais investir un dév de j.v. là dedans c'est du suicide
Unity est codé en C#, et utilise massivement le scripting en sus de C#; en le citant tu donnes des arguments aux java-boysEnvoyé par Camel LowFilter
IrmatDen>
je n'ai rien contre les développeurs java, c'est un langage très bien pour les tel mobiles ou les applis spécifiques à une machine genre intranet, serveur, etc bref les appli qui ne font pas semblant de croire à la légendaire portabilité de l'émulateur java pour micro, qui est effectivement une légende.
pour unity c'est lui qui exécute le c#, et pas le ms framework, donc pas de problème de machine virtuelle externe qui part en couille quand la boite manque de pognon et tous tes programmes qui passent l'arme à gauche sur des millions d'ordinateurs
Un programme en C avec uniquement des fonctions est plus rapide a l'exécution qu'un programme C++ avec des classes. Alors bien sur C++ est un sur ensemble du C, donc on peut se limiter à n'utiliser que des fonctions, et utiliser quelques particularités du C++ pour accélérer le programme (fonction inline, référence et lieux de pointeur). Mais le C++ c'est avant tout un langage objet avec des classes, des exceptions, des templates.
Donc je réaffirme ce que je disais, si pour faire un jeux AAA, la seule chose d'importante c'est la vitesse, les jeux ne serait pas en C++, mais en C avec un binding pour piloter la carte. Comme ce n'est pas le cas, et que Java a une vitesse tout a fait acceptable comparé au C++, il n'y a aucune raison de ne pas pouvoir faire de jeux de qualité AAA en Java.
Bah non, mais il n'en reste pas moins qu'une bonne partie du jeu est exécutée par Mono. (edit: on parle ptet pas sur le même canal en fait je suis toujours dans l'optique "jeu qui tourne dans une VM, pas forcément dans l'optique pérénité de la VM en question)
Tu devrais apprendre à te servir du C++ et aller au delà d'un hello world en C avant de sortir ça...Envoyé par tulipebleu
tulipe > c'est pas un problème de savoir quel langage est le plus rapide
y'a des petites boites qui font tout en torqueScript ou autre script de moteur super lent (y'en a même qui font du basic mais chut) mais le jeu marche quand même parce que dès la base le programme est conçu pour ça
les deux problèmes de la javamachine c'est que
-déjà c'est pas un moteur de jeu, c'est qu'un émulateur de tel mobile, et comme c'est gratuit faut pas s'étonner que les applications java sont les number one du bug et de la ram qui sature pour afficher un .doc
-vu que c'est un truc externe (que le joueur doit prendre 15 min à télécharger alors que le jeu va utiliser 1% des fonctionnalités de la jvm qui veut tout faire) quand une update de jre a vraiment été faite avec les pieds (au hasard la 1.6) ça fout en l'air tout ton boulot
le jour où on pourra parler de "code once, run everywhere" pour les j.v. qui peuvent pas se payer l'unreal engine et qui misent à plus long terme que la durée de vie des ephémères moteurs discount, ça sera quand une boîte de mecs motivés décideront de créer une lib à la portabilité impeccable spécialement conçue pour gérer ram, son, image 3d et physique, bref toute la partie os / hardware, de façon générique, et avec des fonctionnalités rudimentaire, qui se charge du minimum, bref un truc très simple et abordable qui investit tous ses sous dans les problèmes de portabilité. (et pas un moteur tout fait qui fait rien comme tu veux que ça marche et qui target les noob et qui préfère investir dans les gadgets pluôt que la portabilité et le débug)... et surtout qui marche sans pt1 de mv externe qui fout tout en l'air avec des updates foireux
pour le moment ça existe pas, ça reste à inventer
j'ai été tenté par java comme palliatif mais en fait non
j'ai eu que des merdes avec des applis java qui faisaient des trucs basiques comme éditer du texte ou gérer un socket, alors avec des jeux qui tripoteraient ma carte vidéo j'ose même pas imaginer le désastre... entre openoffice qui pulvérise la mise en page et remplace les caractères par des signes cabalistiques, le serveur java qui triple le coût d'hosting parce qu'il bouffe 4 fois plus de ressources qu'un truc normal, l'appli qui plante tous les quarts d'heure et qui fout tout un projet en l'air, les virus cachés dans les applets...
je remercie jre de s'être auto-banni de ma machine, depuis mon pc tourne plus vite, plante moins souvent et attrape moins de cochonneries
En tant que puriste je suis choqué que soit proposé le C en replacement du C++.
La seul langage qui soit suffisamment rapide et qui mette de coté les fioritures inutiles est le binaire tout VRAI jeu AAAAAAA devrait être en binaire !!!
Plus sérieusement certain débats ne devraient pas avoir lieu tel que CvsC++ dans un tel topic.
La on observe JAVA, sa JVM et ses API multimédia afin de se faire un avis sur ses capacités. Éviter de sortir du chemin, même si je trouve que ce topic tourne en rond.
Les templates, ne seraient-ce qu'eux, apportent beaucoup... Du code généré à la compilation, enlevant des calculs ou quoi à l'exécution...
Les classes ne sont pas si lourdes que ça, sauf si on fait comme en Java (faute de mieux, c'est l'une des raisons qui fait que j'ai du mal à faire un projet perso en Java, j'espère qu'ils arrangeront ça) une hiérarchie de 193 classes. Enfin bref, ton post témoigne d'une méconnaissance du C++.
Tu me l'as levé de ... des doigts
je sais pas si ça a beaucoup de sens la guéguerre java contre les natifs vu que ces deux trucs n'ont rien à voir
la première est un langage interpreté sur une mv qui est développée avec les seconds, pas vraiment la même chose, à faire ce genre de confusions c'est un coup à finir par comparer html et assembleur.
si on regarde, en dehors des mobiles, les applications industrielles de la java machine sur ordi, c'est utilisé pour des développements au rabais, parce que c'est plus facile à coder, plus facile à porter, on gagne du temps, exemple dans les banques, les systèmes intranet, applis internes à l'entreprise genre outils de dev ou intranet, on investit rarement dans un vrai dev en c/c+ pour une appli qui va être utilisée juste par une boîte, on peut très bien faire avec du java
mais c'est pas utilisé dans tous les domaines du dev au rabais, ça reste utile pour des appli qui misent rien sur les perf graphiques et tout sur une grosse quantité de fonctionnalités qu'il faut développer à l'arrache, donc burautique, éditeurs de code, intranets, gestion bdd, etc... des applis surtout utilisées par des pros qui sauront se dépatouiller avec et qui au pire en cas de gros plantage dù à java ont les moyens de dépanner. bref java c'est des domaines d'application pas rigolos qui ont pas grand chose à voir avec le jeu vidéo, à part quand on se sert de java pour faire des outils d'aide au développement de jeux vidéos comme des parseurs de data, des déboggeurs...
mais pour le jeu en lui-même c'est pas les mêmes contraintes, les perf graphiques ont une importance, faut que ça soit facile à installer par des gens qui n'y connaissent rien, faut pas que ça ralentisse en cours de route, et encore moins que ça ouvre des failles de sécurité béantes dans la machine, alors je dis pas qu'on peut pas faire des jeux avec java mais c'est pas ce qu'il y'a de mieux
pour les j.v. au rabais y'a les moteurs de jeux au rabais, le vb, la sdl, c'est plus ce genre de choses qu'on utilise... c'est plus efficace de bosser avec des trucs prévus pour faire des jeux
En quoi, de manière générale, le fait qu'un langage (peut importe lequel) fait que c'est plus facile à code, plus facile à porter, fait gagner du temps implique que c'est des développements au rabais ?
Tu sous entends que les développements pour plusieurs boites ont plus de chance d'être en C++ ?on investit rarement dans un vrai dev en c/c+ pour une appli qui va être utilisée juste par une boîte
De toute façon, à chaque fois qu'on essaye de faire quelque chose, les interventions bouclent :
- Quelqu'un qui s'y connait pas en java dit juste que Java c'est lent (qui a priori sous entends que les JVM actuelles ne sont pas optimisées)
- Quelqu'un dit que c'était avant, maintenant, il y a des systèmes comme hotspot
- Quelqu'un dit : Si c'est si bien que ça, donnait un exemple de jeu
- Il y a des exemples de jeu pas mal qui tombe
- Quelqu'un demande des exemples de jeux AAA
- il y a des exemples plus ou moins vaseux de jeux AAA (peu importe)
- Conclusion : Java c'est bien pour la plupart des jeux sauf éventuellement pour les jeux de dernières génération (j'ai pas dit que ça n'allait jamais marché pour les jeux de dernière génération, en tout cas, il semblerait que ce soit en bonne voie mais ce n'est pas tip top à l'heure d'aujoud'hui)
- La discussion se calme 5 jours
Puis ça boucle avec quelqu'un qui intervient et qui s'y connait pas forcement super bien dans l'une des technologies.
ben parce quand on dev un truc avec peu de moyens donc peu de délais, si on peut prendre un truc qui fait gagner du temps c'est mieux... c'est un des arguments en faveur du java qui me semble pertinent
non juste que les développements en c++ c'est un peu plus long donc plus cher que du java (enfin je crois?)
pour le reste
j'ai pas reproché à java d'être lent mais de faire des freeze pour cause de ram saturée tout ça pour faire du traitement de texte. qu'un programme soit lent ça passe encore, mais quand il commence à agresser la machine dès qu'on clique sur un bouton ça agace vite
je donne pas un point de vue de codeux spécialiste du code java, mais un point de vue du monsieur l'(ex)utilisateur d'applis en java qui n'a eu que des problèmes avec et qui en plus ne peut même plus l'installer à cause d'un bug de la dernière jvm dont sun se tape puisqu'ils nous expliquent sur leur site de nous débrouiller sans eux
avis qui d'après certains n'aurait aucune valeur parce qu'il n'émane pas d'un mec qui touche en java..
il me semble pourtant que l'avis du client quand à la qualité de la marchandise compte autant, sinon plus, que celui du marchand
vu ce que j'ai pu voir de java, je vois pas trop comment on pourrait commercialiser des applis grand public (des jeux ou autre chose) dans ces conditions
je peux même pas vous dire allez-y montrez-moi des super jeux java pour me prouver le contraire puisque je pourrai pas les faire tourner
donc moi la question java pour les jeux, c'est vite réglé
à utiliser éventuellement pour le traité des données "offline", des bidules java qui parsent des data utilisées par le moteur, ou qui servent au débug, j'avais utilisé ce genre d'outils dans une petite boite à jv, pour ce genre de trucs java fait l'affaire
mais je m'amuserais pas à faire le moteur du jeu avec ça
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager