Nicolas Boulay a écrit 16010 commentaires

  • [^] # Re: static ?

    Posté par  (site web personnel) . En réponse au journal Parlons C, parlons pipe !. Évalué à 2.

    L'overhead des fonctions inline est en général dû à l'absence du mot clef "static". Sans ce mot, le symbol doit être visible de l'extérieur du .o et ainsi en plus des copies de la fonction en ligne, une fonction "normal" existe.

    Gcc demande juste "static", "static inline" n'est plus nécessaire.

    "La première sécurité est la liberté"

  • [^] # Re: static ?

    Posté par  (site web personnel) . En réponse au journal Parlons C, parlons pipe !. Évalué à 2.

    les fonctions static font la même chose que les macros mais en plus propre (si le compilateur n'est pas moisi).

    "La première sécurité est la liberté"

  • # static ?

    Posté par  (site web personnel) . En réponse au journal Parlons C, parlons pipe !. Évalué à 2.

    Est-ce que ce genre de code est mis dans un .h ou dans son .c à part ?

    Si la bibliothèque est souvent utilisé, du code "static" (ou static inline) peut être très compact, si mis dans le .h.

    "La première sécurité est la liberté"

  • # compteur ?

    Posté par  (site web personnel) . En réponse au journal Parlons C, parlons pipe !. Évalué à 10. Dernière modification le 21 août 2012 à 14:33.

    C'est pas plus simple d'utiliser un tableau d'octet et un compteur de début et de fin ? Comme un buffer tournant ?

    "La première sécurité est la liberté"

  • [^] # Re: Я не понимаю

    Posté par  (site web personnel) . En réponse au journal Logiciel libre, sexisme et féminisme. Évalué à -2.

    Pourquoi reprocher ta méconnaissance de l'anglais à linuxfr ?

    "La première sécurité est la liberté"

  • [^] # Re: 2 écrans, trois fonctions

    Posté par  (site web personnel) . En réponse au sondage La disposition multi-écrans idéale. Évalué à 6.

    Le vertical est pratique uniquement parce que la résolution des écrans a diminué en hauteur. Le top des écran était le 1600*1200 en 2000. Aujourd'hui trouver un écran ayant 1200 pixel de haut est rare. J'ai encore un vieux 19" qui semble avoir une résolution grossière à coté d'un portable HD, mais qui propose autant de pixel que lui en hauteur 1024 (x1280).

    Cela devient ridicule quand est-ce que les écrans 24" 4k vont sortir ? Ou au moins les écran ayant exactement 4x la résolution du 720p(2500x1440 ?), c'est déjà un bon début.

    L'ipad a déjà une grosse résolution.

    "La première sécurité est la liberté"

  • [^] # Re: Moi aussi!

    Posté par  (site web personnel) . En réponse au journal Et Dieu inventa le soutien gorge !. Évalué à 2.

    "L’optimisation en vitesse est généralement incompatible avec l’optimisation en taille."

    Souvent mais pas toujours. L'inline est un bon exemple. En général, il est vu comme une augmentation de la taille du code. Dans un driver qui manipulait beaucoup de constantes, j'ai pu gagner beaucoup de place de code avec de l'inlining qui se simplifiait beaucoup (élimination de constante, etc…).

    "La première sécurité est la liberté"

  • [^] # Re: Moi aussi!

    Posté par  (site web personnel) . En réponse au journal Et Dieu inventa le soutien gorge !. Évalué à 2.

    Dans tous les cas, chaque fois que je me documente sur le choix des types, le conseil est "utilisez le plus petit type possible".

    Le compilo va prendre le plus rapide qui est en général la taille des registres.

    Pas GCC 3.3.5. J'avais fait un travail d'optimisation sur un programme, l'inversion manuel des boucles apportaient un joli gain (mais ça date). Dans tous les cas, ça ne coûte rien de le faire soit même.

    si des bugs, car c'est moins lisible. Parfois, le compilateur ne peut pas faire la transformation à cause de condition extérieur au fichier C ou à cause d'une variable d'induction.

    La documentation du micro-contrôleur apporte ce genre d'info.

    j'imagine. Mais dans le cas que j'avais en tête cela n'y était pas.

    "La première sécurité est la liberté"

  • [^] # Re: Moi aussi!

    Posté par  (site web personnel) . En réponse au journal Et Dieu inventa le soutien gorge !. Évalué à 2.

    Si tu parles de variable automatique, en déclarant un char, un short ou un int, le compilateur te collera un int (16 ou 32 bit selon la plateforme), en tout cas sur tous les compilos que j'ai vu.

    Concernant le retournement de compteur de boucle, il me semble que gcc fait ce genre de transformation dans toutes les boucles car la comparaison à zéro est toujours plus facile.

    Concernant le switch-case, j'aime beaucoup l'utiliser mais il utilise un tas de pointeur de fonction, ce qui peut être très lent sur les cpu "simples".

    Enfin, le plus simple est toujours de regarder la sortie assembleur pour voir ce que sort le compilateur.

    "La première sécurité est la liberté"

  • [^] # Re: Moi aussi!

    Posté par  (site web personnel) . En réponse au journal Et Dieu inventa le soutien gorge !. Évalué à 1.

    "réfléchir dix fois avant de déclarer une variable "

    Euh ?! Ton compilateur ne fait pas le boulot ?

    Pour compacter à mort du code, le plus efficace que j'ai trouvé est l'inlining et le mot clef "static" (suivi des simplifications du compilo) pour éviter les .o où la moitié du code n'est pas utilisé et une fonctionnalité de récupération de fin de fonction par le compilateur. Je ne me rappelle plus le nom, mais en gros, si 2 fonctions se finissent de façon identique, l'une d'elle contient un goto vers la fin de la suivante. Cela permet de faire des choses, que la factorisation de code ne permet pas.

    "La première sécurité est la liberté"

  • # graphisme

    Posté par  (site web personnel) . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 2.

    Pour ce genre de jeu, il ne serait pas plus joli et moins couteux en temps, de générer une carte en 3D plutôt que d'utiliser des tiles ou des modèles tout fait ?

    L'avantage des modèles générés est le coté carré et répétitif qui disparait, ainsi que la variété du graphisme. Il est sans doute possible de trouver un modèle de 3D généré qui est aussi modulaire que ce que fait Minecraft, non ? (en plus, cela serait plus facile de coder les tremblement de terre, ras de marré, tsunami et autre dévastation de la nature)

    "La première sécurité est la liberté"

  • [^] # Re: Temps long

    Posté par  (site web personnel) . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 3.

    oui, je le sais bien et cela me gonfle :)

    J'imagine un rts style pierre/papier/ciseau (hélicoptère/char/infanterie) avec juste une notion d'amélioration de chacun des éléments quand il s'affronte entre eux et une grosse pris en compte de la map : ralentissement dans la terre pour garder le coté stratégique des routes, augmentation de la porté et de la vision sur les points haut, effet de la météo sur la vitesse de déplacement, difficulté pour déterminer le coté ami/ennemi des troupes (tir fratricide qui est un vrai problème irl), changer aussi la vision avec la nuit (genre alternance toutes les 5 minutes pendant le jeu). On pourrait ainsi réellement tirer parti du terrain. Il manque aussi la gestion des lignes de ravitaillement.

    J'imagine bien le thème comme l'affrontement de compagnie pétrolière pour le contrôle de champ pétrolier, avec des objectifs de livraison à la maison mère qui engendre des hausses de budget et donc des livraisons de matériels militaires. Cela permet de remplacer les Fremen par des vrais civiles :)

    "La première sécurité est la liberté"

  • [^] # Re: Temps long

    Posté par  (site web personnel) . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 1.

    "C'est un aspect qui est encore flou dans ma tête: quel sera exactement le rôle des joueurs et les interactions possibles?"

    C'est pourtant le plus important, le gameplay.

    "La première sécurité est la liberté"

  • [^] # Re: Temps long

    Posté par  (site web personnel) . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 2.

    Le pire étant la formation genre gros char devant, lance-missile derrière qui tire loin mais sont fragiles. En formation, il roule au moins à la même vitesse, sinon les chars se font dépassé et les camions sont détruit. Au premier obstacle ou rétrécissement(pont), les chars s'engagent et le superbe algo A* (à la con) décide de faire faire le tour aux camions de derrière. Et paf, le camion.

    Le joueur qui gagne est donc celui qui clic le plus vite.

    "La première sécurité est la liberté"

  • [^] # Re: procédure biaisée

    Posté par  (site web personnel) . En réponse au journal Est ce que LibreOffice ne respecte pas les standards ODF ?. Évalué à 9.

    Tu me rappelles quelle version de la norme implémente word ? Ou quel logiciel suit la norme corrigé en question ?

    "La première sécurité est la liberté"

  • [^] # Re: je ne vois que le texte alternatif

    Posté par  (site web personnel) . En réponse à l’entrée du suivi insertion d'image malformé. Évalué à 2 (+0/-0).

    En fait, il faut accepter le certificat de https//img.linuxfr.org

    "La première sécurité est la liberté"

  • [^] # Re: Temps long

    Posté par  (site web personnel) . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 2.

    Il fallait définir une zone plus grande. C'est vrai que dans TA j'utilisais surtout le mode "tir à vue" sans déplacement. Car en cas de déplacement, l'unité se mettait à porter de tir de beaucoup d'unité adverse et était rapidement détruite.

    "La première sécurité est la liberté"

  • [^] # Re: Temps long

    Posté par  (site web personnel) . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 2.

    Tu devrais surtout penser à des actions types du joueur pour définir ce qui est réellement intéressant et pas seulement le coté simulation. Dans le temps vrai, il y a des actions tellement longue que cela peut être chiant (cf les simulateurs d'avion) ou trop courte pour gérer la masse de chose à faire.

    Pour un RTS, j'aurais aimer avoir une notion de "plan d'attaque" où tu définis des point clefs à chaque unités qui doivent aller à ces points ayant le même numéro avant de passer au suivant, c'est plus facile de coordonner les attaques. Ensuite, il suffit de "déclencher les plans" pour que les unités l’exécutent.

    "La première sécurité est la liberté"

  • [^] # Re: procédure biaisée

    Posté par  (site web personnel) . En réponse au journal Est ce que LibreOffice ne respecte pas les standards ODF ?. Évalué à 10.

    "Et en passant les infos pour DOC et DOCX ne sont pas merdique, c'est totalement documente."

    On ne va pas recommencer les débat de l'époque de la standardisation ridicule de docx (procédure accéléré pour une norme 100x plus grosse que d"habitude qui ne respecte pas les autres normes comme les formats de dates, et comment oublier le forcing pour l'introduction de personne piloté dans les comités de certifications).

    Pour rappel la norme de docx contient des choses comme "ce blob se comporte comme word97". Génial, non ?

    "La première sécurité est la liberté"

  • [^] # Re: Temps long

    Posté par  (site web personnel) . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 3.

    Dans un RTS classique, il manque en général des ordres de très haut niveau pour gérer ses unités. En général, cela se limite à va ici et attaque cette unité. "total anniliation" proposait des ordres plus sympa comme des défenses de zones avec poursuites ou non des unités adverses.

    "La première sécurité est la liberté"

  • [^] # Re: Juju

    Posté par  (site web personnel) . En réponse au journal Asile équatorien accordé à Julian Assange. Évalué à 4.

    Tu veux dire que l'on laisserait tranquille n'importe quel journal mais pas un site web ?

    "La première sécurité est la liberté"

  • [^] # Re: Juju

    Posté par  (site web personnel) . En réponse au journal Asile équatorien accordé à Julian Assange. Évalué à 0.

    Lit wikipedia l'histoire est dedans.

    "La première sécurité est la liberté"

  • [^] # Re: Juju

    Posté par  (site web personnel) . En réponse au journal Asile équatorien accordé à Julian Assange. Évalué à 8.

    Il est recherché pour "sexe par surprise" en Suède. En gros, il aurait fait l'amour sans préservatif le matin à sa compagne d'alors et plus ou moins la même chose avec une autre fille. Elles auraient été toutes les 2 voir la police pour exiger d'Assange un test pour le VIH, celle-ci a transformé la demande en "sexe par surprise". Le plus "drôle", c'est que le crime n'est pas reconnu en Angleterre, et donc ne devrait pas être passible d'extradition.

    Là, ou cela devient encore plus curieux, est quand l'on sait que l'une des 2 filles est américaine et travaillent pour une organisation ayant des liens avec la CIA.

    Mais comme on dit : si cela a l'odeur d'un piège, la couleur d'un piège, c'est un piège.

    "La première sécurité est la liberté"

  • # je ne vois que le texte alternatif

    Posté par  (site web personnel) . En réponse à l’entrée du suivi insertion d'image malformé. Évalué à 2 (+0/-0).

    Pour ma part, je ne vois que le texte alternatif au lieu de l'image.

    "La première sécurité est la liberté"

  • [^] # Re: Payant : normal

    Posté par  (site web personnel) . En réponse au journal Contraintes sur les aires d'accueil pour gens du voyage. Évalué à 5.

    J'imagine que le pumpout des station service n'est pas payant, se brancher sur un poteau EDF soit-même non plus, et prendre l'eau sur les bornes à incendie encore moins. Et si le terrain est trop petit pour toute ton association, tu peux toujours aller squater une prairie ou un stade, personne n'ira embêter 150 caravanes. Les pouvoirs publiques préfèreront toujours négocier un départ anticipé de 1 ou 2 semaines à la date annoncé, contre ces commodités gratuites et une place rendu en bonne état. Alors pourquoi se priver ?

    "La première sécurité est la liberté"