flotifr a dit:
Ceci dit, peux-tu m'éclairer sur le pourquoi du manque de réactivité d'une application ? Est-ce que l'on pourrait dire, par ex, que cette application tire le meilleur parti des ressources (logicielles) à sa disposition (je sais pas, moi, les librairies j'imagine), mais que ces ressources ne sont pas nécessairement adaptées et donc brident l'application en question ?
Imaginons que les PC parlent Anglais et que les Mac parlent Français.
Pour porter une application PC sur un Mac, on a besoin d'un traducteur Anglais-->Français (une librairie).
Ce traducteur va intervenir en permanence pendant le déroulement de l'application.
La traduction simultanée fait perdre du temps, même si le traducteur en question est le champion du monde (extremement optimisé). Ce temps perdu, aussi minime soit-il, n'existe pas sur la version PC puisqu'ils parlent directement Anglais.
C'est pour cette raison que, quoiqu'il arrive et même si le portage est presque parfait, c'est à dire optimisé à fond, on ne pourra que se rapprocher de la vitesse de la version PC, sans jamais la dépasser.
Ca, c'est pour les jeux et les applications qui ont été écrites pour les PC à l'origine et porté sur le Mac.
----------------------
Concernant l'optimisation de logiciels purement Mac ou purement PC (et donc sans portage / traduction) le problème est différent. Il faut d'abord faire attention à ne pas faire d'amalgame :
On a tendance à croire que parce qu'une application rame sur son ordi, c'est qu'elle est forcément mal optimisée. Ce n'est pas forcément vrai.
De même, ce n'est pas parce qu'une application semble être rapide sur son ordi qu'elle est bien optimisée. Ce n'est pas forcément vrai non plus.
Il faut bien comprendre que : plus l'ordinateur est rapide, plus l'application le sera aussi. Pareil si l'ordi est lent.
Ce n'est donc pas parce que l'ordinateur est lent qu'on peut en déduire que l'application est mal optimisée.
Par contre, si on a un ordinateur rapide et qu'une application est lente, on peut soupçonner un défaut d'optimisation, mais en aucun cas l'affirmer.
Par exemple : Mac OS X 10.4 tourne comme une horloge sur les G5 et rame comme une bête sur un G3 de moins de 500MHz. Alors, optimisée ou pas MacOS X ?
Optimisé bien sur, mais il parrait évident que plus OS X évolue, plus on y rajoute des fonctionnalitées graphiques et sonores de plus en plus complexes qui nécessitent un pouvoir de calcul toujours plus élevé.
Les Macs des anciennes génération ne peuvent plus suivre, ni sur la charge processeur, ni sur la charge graphique. Une optimisation spécifique est quand même réalisée pour ces machines via la désactivation de certains effets et l'absence de support de l'Altivec.
Dans ce cas précis, ce n'est donc pas parce que MacOS X rame sur une machine donnée, qu'il n'est pas optimisé. On atteint juste les limites de la machines, c'est tout.
De même, le fait que MacOS X tourne comme une horloge sur un gros G5 ne veut pas dire qu'il n'y a pas de place pour plus d'optimisation, et ce même si ce n'est pas flagrant pour l'utilisateur.
Comme exemple basique, une application mal optimisée serait une application qui ne prendrait pas en charge les multi-processeurs ou l'Altivec des G4.
Souvent, ce sont les applications lourdes qui sont plutot bien optimisées et les applications "lights" qui ne le sont pas.
Si une appli comme FCP ou Photoshop n'était pas hautement optimisée, les Macs, même haut de gamme seraient en permanence à genoux devant la moindre tache à effectuer.
Les applis lights n'ont pas ce problème. Même écrit avec les pieds, elles sont capable de tourner convenablement sur les machines d'aujourd'hui car elles ne necessitent pas d'effectuer des taches complexes. Les développeurs ne se font donc pas chier à l'optimiser, ce qui est quand même assez dommageable.
Si une appli "light" utilise 50% des ressources processeur sans être optimisée, on peut imaginer tomber à 20% des ressources si elle était optimisée. Dans les 2 cas, elle ne tournerait pas forcément plus vite, toujours à 100%, mais on comprend mieux que si il reste 50% ou 80% des ressources processeurs disponible, l'impact sur les autres taches effectuées simultanément par d'autres applications n'est pas du tout le même !
Bref, une appli optimisée ne permet pas forcément d'aller plus vite mais également d'en faire plus à la fois.