CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Astuces sur la performance C/C++

Altonfrere
Altonfrere
Niveau 10
17 juin 2003 à 18:55:34

" Pour ma part je pense que la meilleur optimisation est de trouver un bon algorithme et de ne pas chasser le cycle au niveau machine comme un danné ! "

Dans le domaine des jeux trouver un bon algorithme ne suffit pas toujours ! Les précalculs également sont parfois très utiles.

Passage
Passage
Niveau 10
17 juin 2003 à 19:01:13

Certes.

Mais cela fait parti ( a mon avis ) de la partie algorithme ( ou conception ) .

Ce que je voulais dire, c´est que l´astuce de codage ne vaut pas une bonne demarche ( architecture ou algorithme ) .

GamerFou2
GamerFou2
Niveau 7
17 juin 2003 à 20:18:42

Disons que travailler un bon algorithme est un travail qui se fait avant toute forme de codage, donc c´est la 1ère étape.

L´optimisation est bien sur nécessaire mais se fait en fin de développement, donc les bidouilles et autres techniques il vaut mieux les garder pour plus tard lorsque tout fonctionne parfaitement.

Lightness1024
Lightness1024
Niveau 10
18 juin 2003 à 13:42:51

-au lieu de faire des boucles utilisez memcpy.
avec un tableau dynamique évitez de le -redimensionner a chaque boucle, redimensionnez le une fois toutes les 50 boucles de 50 elements.
-évitez la fonction racine, raisonnez tant que possible sur le carré des distances
-préferez 0.1 * truc a truc / 10
-testez la vitesse de vos fonctions avec des timers dans des petit programmes indepedant ( par exemple sur un intervalle de 1 millions d´exeution) et testez differents codes possible et gardez le meilleur.

lag-it
lag-it
Niveau 10
18 juin 2003 à 14:06:54

- Un programme monolithique est généralement plus rapide qu´un programme demandant de nombreux appels de fonctions. Cependant, il est plus difficile à maintenir et à debuguer et l´executable produit est généralement plus volumineux.
- Mettez en pratique le principe du moindre privilège : inutile de déclarer une variable en tant que unsigned long int si celle ci ne sera amenée qu´à prendre deux états seulement dans votre programme.

Kelios
Kelios
Niveau 8
18 juin 2003 à 17:33:47

"
" - Sur certains compilateurs, le code généré pour l´opérateur de pré-incrémentation s´execute légèrement plus rapidement que l´opérateur de post-incrémentation."

Ouais, ben en tout cas dans Visual C++ 6 le code généré est identique pour les 2, je viens d´essayer. Ya peut-être un cas spécial où c´est vrai, mais je vois pas quoi. Les 2 sont censés générer les mêmes instructions mais pas dans le même ordre.
"
Là je connais la réponse,du moins en C++, pourquoi préférer le préfixe au suffixe:
Le préfixe, selon la norme, est tenu de renvoyer une référence sur l´objet qui l´utilise.
Le suffixe, lui, doit renvoyer la valeur de l´objet: mais pas l´objet lui même! Nécéssitant donc un objet temporaire... : D
Alors entre le retrun *this,
et la création d´un objet l´appel à son constructeur et son destructeur et tout ce qui vient avec, vous préférez quoi? ; P

Côté perfs, je suis de l´avis de Passage: un bon algorithme est mieux qu´une bonne optimisation.
Oh, et moi, de toute façon, je préfère optimiser en Asm... : )

Kelios
---------

Chris_le_ouf
Chris_le_ouf
Niveau 5
18 juin 2003 à 21:46:50

Merci beaucoup Kelios, enfin une réponse claire.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment