L’optimisation logicielle reste un facteur clé pour l’efficacité de l’architecture hybride mise en avant par Intel sur ses processeurs.
Il est loin le temps où les développeurs optimisaient leur code pour économiser le moindre octet de mémoire par obligation d’un matériel disponible retraint ^^
D’un coté il a pas tort, mais seul le résultat compte (et ils sont plus lents
)
Et ce n’est clairement pas au niveau des développeurs de jeux que le boulot peut être fait (la plupart n’ont pas le niveau, faire les histoire/niveau carte/ design et musique c’est déjà pas mal)
Car il y a une guerre féroce, quasi 19000 jeux qui sortent sur steam par an, donc avoir une part du gâteau devient très compliqué, la difficulté des jeux aussi donc la grosse part d’entre eux sont sur des moteurs tout fait comme unreal engine, unity… et on a aussi ceux des gros studios ubisoft,EA…
Bref si Intel avait bien travaillé avec ces faiseurs de moteur de jeu le problème sera moins présent actuellement
Mais bon, on est quand même + souvent GPU limited que cpu limited, sauf quand on veut 700FPS, en réglage low et en 720p … sur un écran qui en affiche que 160 ![]()
En + la frame generation des gpu ne mange pas de cpu(ou plutôt je ne comprendrais pas qu’elle mange du cpu), donc faut voir ce maximum sans frame gen. et là la plupart des cpu font bien le taf quand même, les haut de gamme c’est sûrement + de 200FPS, c’est le gpu qui souffre avant.
Même si sur certains jeux c’est du délire comme les scènes peuvent être complexe en nombre d’objets, les cpu actuels sont vraiment des bêtes de puissance (mais c’est peut être car je suis parti d’un intel 8088, lui c’est un peu le e core du 8086
(mais le « e » pour économ…ique, en pognon
))
(En 2025 la correction d’un faille sur les cpu intel > serie 9 leur aurait coûté 2.7% de perf "The firmware-level mitigations introduce a 2.7% performance overhead, while software mitigations have a performance impact between 1.6% and 8.3%, depending on the CPU. " pour la 2024-45332 décrite sur https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01247.html )
C’est surtout que ce n’est absolument plus possible de nos jours!
Il est totalement impossible de maitriser parfaitement toutes les couches de ton application et les performances associées, entre les différents types de processeur, de mémoire, de GPU, les différentes librairies, …
Alors chaque librairie est optimisée mais de manière générale, surtout pour bien tourner partout et pas de manière super optimale sur une machine (ça reste possible). Donc ton appli ne sera qu’un ensemble de compromis que tu ne maitrise pas, plus tes propres compromis pour les mêmes raisons. ![]()
J’ose penser que je ne suis pas mauvais en optimisation et j’ai un exemple simple en tête, et même sil il n’est pas « grand public », il est explicite. Quand tu programmes en OpenCL, tu peux avoir un facteur 10 à 100 entre la version optimisée AMD sur NVidia et réciproquement. Alors tu n’as pas 36 solutions:
- Tu fais 2 versions, voir 3 (1 aussi pour Intel), et ça te coute 3X plus de temps.
- Tu forces les utilisateurs à utiliser un certain matos (genre du fait du Cuda!
). - Tu fais un truc moyen ou même pas terrible (la gestion mémoire des NVIdia est infernale et plombe les perfs) qui marche sur toutes les plateformes.
Bref, comparer les types qui faisaient 5000 lignes d’assembleurs sur leur C64 (j’ai fait parti de ces gugus dans ma jeunesse
) à des softs qui mobilisent plusieurs centaines de spécialistes sur des technos complexes sur des millions de lignes de code, ça me semble inapproprié.
L’architecture spéciale (pour pas dire bancale) de Intel n’est pas faite pour la perf pure, et même Windows à mis du temps à fournir les outils adaptés (bon scheduler et choix des coeurs).
Quand tu analyses les moteurs modernes comme Unity, tu mesures le travail qu’ils ont fait pour exploiter le matériel de manière efficace.
Reste que comme tu dis, les devs n’ont pas des mois pour exploiter ces moteurs de manière la plus efficace, ni pour optimiser leur softs aux petits oignons.
Il faut aussi reconnaitre que les graphistes font un super boulot pour économiser de la mémoire et de la bande passante, en regardant attentivement la gestion des lod ou les textures, c’est quand même vachement bien fait et efficace je trouve.
Tout à fait.
6809 pour ma part. Gamin va! ![]()
Z80 et 6502 pour moi, gamin va ![]()
Boulier pour moi, gamin va ![]()
La gestion des E cores a parfois des problèmes sous Windows. J’avais par exemple une appli de traitement de signal codée en Python qui tournait au ralenti sur les E cores. En la lançant en mode admin elle tournait bien plus vite, sur les P cores.
Pourquoi Intel continue de bourrer ses CPus de E-Cores s’ils sont pas à la hauteur côté optimisation ? de toute façon dans les jeux, les E-Cores n’apportent quasi rien du tout au contraire parfois ils causent une baisse de framerate.
Mais de nos jours, c’est le cache L3 qui pose problème, les jeux ont besoin de beaucoup de cache pour être exploitée au max et de ce côté c’est AMD qui gagne.
Ah fichtre, j’ai oublié le Z80. Il faut dire que je ne les ai pas utilisé pour le boulot. Mais mon ZX81 avait un Z80…
Par contre, je ne connais pas trop le 6502, j’en ai juste entendu parlé mais je n’en ai jamais vu…
Pourquoi Intel continue de bourrer ses CPus de E-Cores
Ca a quand même quelques avantages, plus ou moins importants:
- Le processeur est bien plus efficace par W, surtout en idle.
- La conception est plus simple.
- On peut mettre un beau chiffre pour pas cher (le nombre de coeurs) sur les fiches techniques.
- Quand les programmeurs prennent vraiment le temps (bonne estimation des charges des différents threads), ce n’est pas trop pénalisant.
En fait on avait le même problème avec l’hyper-threading, mais Intel et AMD ont bien amélioré la gestion (moins d’instructions monopolisant les 2 parties d’un coeur) et Windows a mieux géré le « partage » des exécutions.
Ca va probablement aussi s’améliorer doucement avec les E/P cores.
Le 8088 c’est mon premier pc (sous dos 2.1)
Mais j’ai encore sous le coude mon videopac + G7400 (programmation possible en basic avec enregistrement en analogique sur cassette audio) et ma première « console » une « hanimex TVG 8610 » et là on ne parle même plus d’un processeur pour elle à mon avis (probablement un IC « AY-3-8550 »
Sinon coté à ce sujet j’ai vu qu’il y a des cpu amd récent pour pc portable avec là aussi 2 type de core, les zen5 et zen5c, ils sont dans la gamme des processeurs « AI » (qui a aussi des cpu qu’avec des core zen5)
Je ne sais pas si amd va pousser sur cette voie sur les futurs cpu
J’ai commencé le PC avec le 8086 (le luxe!), vite remplacé par un V30 pour ces performances et ces facultés d’OC (x2 juste en remplaçant 2 quartz, la belle époque!
).