Pourquoi un logiciel bâclé vous donne l’impression d’avoir besoin d’un nouveau matériel

Pourquoi un logiciel bâclé vous donne l’impression d’avoir besoin d’un nouveau matériel

Utiliser un ordinateur moderne peut souvent s’avérer paradoxal et frustrant. Vous pouvez investir massivement dans des composants hautes performances (un processeur multicœur avancé, une carte graphique de pointe et une mémoire vive importante) et vous retrouver à attendre pour des tâches simples comme ouvrir des dossiers ou effectuer des recherches.

Le problème sous-jacent ne réside souvent pas dans le matériel lui-même. Même les systèmes milieu de gamme sont largement capables de gérer les opérations courantes avec une relative facilité. Le véritable coupable réside dans les logiciels. Au fil des ans, ceux-ci sont devenus lourds et inefficaces, négligeant l’optimisation des ressources malgré les progrès significatifs en matière de puissance de calcul et de mémoire. Au lieu d’exploiter efficacement cette puissance, les logiciels modernes se comportent souvent comme s’ils disposaient de ressources infinies, ce qui se traduit par des performances décevantes.

L’écart entre les performances matérielles et logicielles

Le matériel informatique actuel représente une avancée remarquable par rapport à ce qui était disponible il y a quelques décennies. Les processeurs actuels sont conçus avec une conception complexe, avec plusieurs cœurs et des caches étendus qui optimisent les performances en temps réel. Il est remarquable que les smartphones actuels offrent des capacités de calcul supérieures à celles des supercalculateurs qui occupaient des salles entières dans les années 1980.

Les processeurs graphiques (GPU) ont connu des avancées encore plus spectaculaires. Prenons l’exemple de la série RTX de NVIDIA. Ces processeurs ne se concentrent pas uniquement sur les graphismes, mais ont évolué vers des moteurs de traitement parallèles capables de gérer des tâches liées à l’IA et au machine learning grâce à des cœurs spécialisés : les cœurs Tensor pour l’efficacité des calculs et les cœurs RT pour le ray tracing en temps réel, permettant d’atteindre des milliards de calculs par seconde.

Avec des performances aussi robustes, on pourrait s’attendre à une expérience utilisateur fluide lors de l’utilisation d’un ordinateur. Les applications doivent s’ouvrir rapidement, les interfaces doivent rester fluides en multitâche et le passage d’une tâche à l’autre doit être fluide. Malheureusement, ce n’est souvent pas le cas.

Ce scénario contraste fortement avec le développement logiciel des époques précédentes. Lors de la création de systèmes d’exploitation comme Windows NT 3.51, les développeurs géraient méticuleusement la mémoire et la puissance de traitement. Ils ont conçu des systèmes adaptés à des environnements disposant de bien moins de RAM que la consommation actuelle d’un seul onglet de navigateur, garantissant un niveau d’efficacité presque désuet dans le paradigme de développement actuel :

Explorer l’expérience utilisateur Windows

Les exemples les plus marquants de ralentissement des performances se retrouvent dans les systèmes d’exploitation modernes, notamment Windows. Les fréquentes mises à jour de fonctionnalités de Microsoft n’améliorent guère la réactivité de l’interface principale de Windows 10 et 11, ce qui engendre une frustration généralisée chez les utilisateurs. Parmi les plaintes courantes figurent des menus contextuels qui ralentissent après un clic droit ou des fenêtres d’explorateur de fichiers dont le rendu est décalé.

Une expérience menée par le développeur Julio Merino il y a quelques années a notamment mis en évidence ces problèmes. Il a comparé d’anciens systèmes d’exploitation fonctionnant sur du matériel minimal à des systèmes Windows modernes fonctionnant sur des machines hautes performances, révélant ainsi l’ampleur des différences de réactivité.

Lors d’un test, une machine de l’an 2000, équipée de 128 Mo de RAM et d’un processeur à 600 MHz, a lancé instantanément des applications sous Windows NT 3.51. En revanche, une machine beaucoup plus récente et puissante – un Mac Pro 6 cœurs avec 32 Go de RAM – a présenté des ralentissements, les éléments de l’interface utilisateur s’affichant par blocs, illustrant ainsi le décalage des performances :

Un autre exemple frappant, partagé par le développeur Theo Browne, illustre ce problème. Il a décrit un scénario où l’ouverture d’un dossier contenant des enregistrements de flux – une tâche simple – prenait huit minutes, un temps exaspérant, et l’Explorateur Windows plantait lors d’un clic droit. Le problème résidait dans un décalage dû à l’analyse automatique des métadonnées de chaque fichier par Windows, ce qui nuisait considérablement aux performances. La solution a consisté à désactiver la découverte automatique des types de dossiers, démontrant ainsi la facilité avec laquelle les utilisateurs peuvent trouver des solutions aux problèmes inhérents au système.

Même avec une installation propre, Windows est souvent encombré d’applications préinstallées, de systèmes de télémétrie et de processus d’arrière-plan gourmands en ressources. Cet encombrement entraîne d’importants retards dans l’exécution des tâches quotidiennes, aggravés par le recours à des scripts de déblocage tiers. Ces scripts soulignent l’ampleur du mécontentement, les utilisateurs décrivant souvent Windows comme « quasi inutilisable » jusqu’à ce qu’ils suppriment les éléments superflus.

La fonction de recherche incarne également ces frustrations. Lors de la recherche d’un fichier récent, Windows peut mettre un temps inhabituel à afficher les résultats, proposant souvent un mélange de recherches web non pertinentes. Nombreux sont ceux qui regrettent des capacités de recherche instantanée comparables à celles d’un outil gratuit comme « Everything », qui localise rapidement les fichiers au fur et à mesure de la saisie, contrastant fortement avec la lenteur de la recherche intégrée d’une des plus grandes entreprises technologiques.

Un retour aux standards de qualité ?

On constate de plus en plus que le principe fondamental de la livraison de logiciels de haute qualité a été relégué au second plan au profit de la rapidité d’exécution. Ceux qui se souviennent du passé se souviennent d’une époque où les logiciels, en particulier les systèmes d’exploitation et les applications majeures, étaient soumis à des tests internes rigoureux avant leur sortie, atteignant souvent un niveau de qualité « excellence ».Ce processus garantissait stabilité, exhaustivité et disponibilité dès le lancement.

Concernant des systèmes comme Windows NT 4.0 ou Windows 2000, ces versions étaient censées offrir une stabilité digne d’une entreprise grâce à des cycles d’assurance qualité intensifs, notamment une pratique appelée « dogfooding », où même les employés de Microsoft étaient tenus d’utiliser le logiciel eux-mêmes. Les mises à jour étaient traditionnellement des Service Packs bien structurés, contrairement au flot incessant de correctifs rapides d’aujourd’hui.

Le modèle actuel, souvent appelé « Windows as a Service », semble souvent chaotique. Le programme Windows Insider, au lieu d’être une extension du contrôle qualité, semble externaliser les tests à des millions de participants bénévoles. Les utilisateurs subissent de fréquentes plaintes concernant des bugs, des fonctionnalités défectueuses et une baisse des performances globales lors des versions majeures ; un cycle répétitif de produits inachevés et non publiés, corrigés uniquement après un tollé général. Cette pratique ne se limite pas aux systèmes d’exploitation ; de nombreux jeux affichent cette tendance inquiétante, illustrée par le lancement désastreux de Cyberpunk 2077.

Cette approche persistante du « publier maintenant, corriger plus tard » a amené de nombreux utilisateurs à s’interroger sur la philosophie de développement des grands studios. La décision de retarder GTA 6 reflète peut-être la conscience de Rockstar des risques potentiels liés aux sorties précipitées.

La même mentalité de « jamais vraiment terminé » est apparente dans la lente refonte des systèmes hérités comme le Panneau de configuration en faveur de la nouvelle application Paramètres, un processus qui a commencé en 2012 avec Windows 8, mais qui se poursuit encore treize ans plus tard.

Défis en matière de performances Web

Les problèmes de performances des logiciels modernes ne se limitent pas aux systèmes d’exploitation de bureau ; ils se manifestent également sur les plateformes web. Malgré les améliorations de la connectivité et des fonctionnalités des appareils, les utilisateurs rencontrent fréquemment des expériences web excessivement lentes et gourmandes en ressources. Les sites web se chargent souvent lentement et peuvent sembler moins réactifs que leurs prédécesseurs.

Ce retard est dû à la complexité croissante des applications web et à l’utilisation généralisée de frameworks JavaScript lourds. Si des outils comme React et Next.js améliorent considérablement les fonctionnalités, leur application sur des sites web plus simples peut entraîner une augmentation de la taille du code et des temps de chargement plus longs. Ironiquement, cela résulte souvent de préférences de développement axées sur la commodité plutôt que de véritables exigences du projet.

Les applications créées avec des technologies web pour un usage bureautique, comme les outils basés sur Electron comme Slack, souffrent souvent elles aussi de surcharge. Chaque application intègre une version d’un navigateur web, ce qui engendre une surcharge qui ralentit le démarrage et augmente la consommation de ressources.

Néanmoins, des exemples exceptionnels existent encore, démontrant que la performance peut évoluer avec différentes priorités de développement.Le site web de McMaster-Carr, notamment, a attiré l’attention grâce à ses temps de chargement rapides, contrastant fortement avec les sites modernes et visuellement attrayants, conçus avec des technologies plus récentes.

McMaster-Carr y est parvenu grâce à l’utilisation de techniques fondamentales telles qu’un rendu côté serveur robuste, des stratégies de préchargement agressives, des approches de mise en cache multicouche et une optimisation rigoureuse des ressources. Leur engagement envers la rapidité et la convivialité surpasse l’attrait des frameworks modernes, démontrant ainsi que la nécessité peut toujours dicter la conception.

L’option Linux : un sac mixte

À la recherche d’une expérience informatique plus fluide, de nombreux utilisateurs envisagent de passer à des systèmes d’exploitation alternatifs comme Linux. De nombreuses distributions, notamment celles utilisant des environnements de bureau légers comme XFCE ou LXQt, peuvent améliorer considérablement les performances sur du matériel ancien, rendant les systèmes plus réactifs grâce à une charge système inférieure à celle de solutions plus complètes comme Windows.

Cependant, la transition vers Linux pose des problèmes de compatibilité pour de nombreux utilisateurs, notamment avec les outils professionnels les plus répandus. De nombreuses applications essentielles, comme Adobe Creative Cloud et Microsoft Office, ne disposent pas de versions Linux natives, ce qui crée des obstacles qui conduisent souvent à de brèves incursions sous Linux avant de revenir à Windows.

Raisons de la lenteur et du gonflement des logiciels

Avec tout ce matériel de pointe et ces stratégies éprouvées d’optimisation des performances logicielles et web, on peut se demander pourquoi les applications contemporaines semblent souvent si lentes et surchargées. La réponse peut être complexe, mais plusieurs facteurs clés ressortent :

  1. Le modèle « Consommateur-Bêta-Testeur » : Les grandes entreprises de logiciels font souvent évoluer leurs efforts d’assurance qualité, passant d’évaluations internes approfondies à des tests bêta publics, en s’appuyant sur les retours des utilisateurs pour finaliser les fonctionnalités en production. Cela marque une rupture radicale avec l’époque où les versions « Gold » rigoureusement validées étaient la norme.
  2. Privilégiez la vitesse plutôt que la qualité : les pressions actuelles liées aux versions rapides de fonctionnalités privilégient souvent l’opportunité au détriment d’un savoir-faire minutieux, permettant ainsi aux frameworks surchargés de dominer plutôt que de s’engager dans une optimisation détaillée des performances.
  3. Abstraction excessive : l’utilisation de plusieurs couches d’abstraction, tout en simplifiant le développement, peut introduire des frais de performances inutiles si elle n’est pas soigneusement optimisée.
  4. Compétences et concentration du développeur : les compétences d’optimisation telles que la gestion de la mémoire et les algorithmes efficaces sont devenues moins courantes parmi les développeurs par rapport aux techniques d’intégration et aux derniers frameworks, qui sont plus faciles à apprendre.
  5. Modèles commerciaux : De nombreuses solutions logicielles intègrent aujourd’hui des fonctionnalités conçues pour la publicité, la télémétrie et l’engagement des utilisateurs, ajoutant une complexité injustifiée qui nuit aux fonctionnalités de base.
  6. Complexité croissante : les exigences croissantes en matière de sécurité, de connectivité Internet et de gestion de graphiques avancés créent des défis inhérents et des problèmes d’évolutivité.

Réflexions finales : le matériel n’est pas toujours en cause

La prochaine fois que votre ordinateur semble lent, même lors de tâches routinières, prenez le temps d’envisager une mise à niveau. Votre système actuel possède probablement des fonctionnalités qui, bien qu’impressionnantes par rapport aux standards historiques, sont freinées par des logiciels inefficaces et surchargés.

Il est urgent de redonner la priorité à la performance, à la stabilité et à la qualité dans le développement logiciel. Il est crucial que la culture du développement évolue vers l’optimisation des performances et de l’expérience utilisateur, tout en respectant les contraintes de temps et de ressources. Pour fournir des logiciels véritablement adaptés aux besoins des utilisateurs, il est essentiel de se concentrer à nouveau sur la fourniture de solutions robustes et efficaces.

Tant qu’un tel changement n’aura pas lieu, les utilisateurs continueront de se battre contre des performances médiocres, même sur les machines les plus puissantes, ce qui les amènera souvent à croire que les mises à niveau sont leur seul recours.

Source et images

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *