Un nouveau niveau d'optimisation Windows

Il y a environ deux ans, notre équipe a parlé à Habr de son projet d'optimisation de Windows à l'aide de la technologie des réseaux de neurones.

Au cours des deux dernières années, beaucoup de choses ont changé, mais la chose la plus importante est restée inchangée. Et dans cet article, nous voulons partager ces découvertes et ces conclusions qui ont été faites au cours de ces deux années.

image

Si vous êtes intéressé par la situation de la production indépendante de logiciels PC en 2020, bienvenue chez cat.

Mais avant de passer au récit principal, il est nécessaire de préciser que tout ce qui est dit ci-dessous est décrit du point de vue d'une entreprise indépendante qui, dans le processus de développement, ne progresse qu'au détriment des ressources internes.

Ce qui a été fait au cours de ces deux années


La

publication UWP dans le MS Store est devenue l'une des réalisations les plus difficiles, mais aussi l'une des plus importantes lorsque l'on travaille sur un projet. C'est cette étape qui nous a permis d'aller au-delà du marché de la CEI et de développer le marché mondial des logiciels Windows.

Nouvelle fonctionnalité

L'étape suivante, une fois qu'il est devenu possible de gérer les priorités du processeur et les cœurs de processeur pour optimiser Windows, il a été nécessaire d'enseigner à l'application comment gérer tous les autres composants clés d'un PC afin d'utiliser les algorithmes de réseau neuronal avec une efficacité maximale.
Et si tout était relativement simple avec la gestion des cœurs et des priorités du CPU, alors pour gérer les priorités de la RAM et les priorités des E / S, je devais tellement plonger dans l'architecture Windows qu'il était temps d'écrire des dissertations. Par exemple, parmi tous les logiciels que nous connaissons, seuls WPS et Process Lasso peuvent définir une priorité d'E / S «élevée».

Eh bien, dès que le contrôle total du CPU, de la RAM et de la ROM a été maîtrisé, la question est restée avec les périphériques. Par conséquent, la prochaine étape de développement a été la gestion de l'alimentation, où WPS était la seule application que nous connaissons qui gère l'énergie de manière dynamique et non statique. Cela signifie que pour des performances maximales, vous n'avez pas besoin de maintenir constamment la fréquence du processeur à 100% et d'empêcher les cœurs de se garer, ce qui conduit à un fonctionnement constant à des charges maximales et à une consommation d'énergie accrue. Maintenant, grâce à l'analyse des applications par le réseau neuronal, il est devenu possible d'obtenir les mêmes performances maximales, mais juste lorsque l'utilisateur travaille avec des logiciels lourds ou joue à des jeux exigeants afin que le reste du temps, l'ordinateur ne transforme pas l'électricité en chaleur sans aucun avantage.

Et en plus d'optimiser les éléments clés du PC, une optimisation du transfert de données a été ajoutée (via la compression du trafic et le blocage des publicités sur le VPN), ainsi que le nettoyage automatique des fichiers indésirables.

Stabilité

Au cours des dernières années, nous avons constaté à plusieurs reprises le bon choix d'architecture d'application. Étant donné que toutes les opérations avec le système sont effectuées via WinAPI, le problème de stabilité (système et logiciel) lors de la modification des paramètres de fonctionnement s'est avéré être résolu presque parfaitement. Depuis plus de deux ans d'application et plus d'un million d'appareils sur lesquels il a été installé, nous n'avons pas enregistré un seul cas de problèmes de stabilité du système ou d'incompatibilité avec des applications tierces.

UI / UX

L'un des principaux domaines de travail au cours des dernières années a été l'amélioration de l'interface utilisateur / UX, ce qui nous a permis d'abaisser le seuil permettant aux nouveaux utilisateurs de maîtriser les fonctions clés de l'application. Ceux qui sont intéressés par le sujet du développement UI / UX peuvent apprécier les changements cohérents dans notre interface principale sous le spoiler:

Interface utilisateur principale WPS
image

image

image

image

image

image

image

Évaluation des performances matérielles

Il était possible non seulement de dire combien de perroquets conditionnels un PC donné donne, mais d'évaluer la conformité réelle des performances d'un ordinateur individuel par rapport à tous les PC réels sur lesquels l'application est installée. Une telle fonction résout trois problèmes à la fois. La première est la question de savoir quel composant de l'ordinateur est le plus obsolète et doit être remplacé. La seconde - combien cet ordinateur est plus rapide / plus lent que tous les autres en général. Troisièmement, les algorithmes intégrés peuvent utiliser diverses approches pour augmenter les performances des PC puissants et faibles pour obtenir les meilleurs résultats.

Principales conclusions


  • Les ventes sont tout aussi importantes que la production, l'une ne peut exister sans l'autre, par conséquent, ces deux domaines dans le développement de logiciels nécessitent la même attention et l'investissement.
  • , , , , .
  • , , -, .
  • — . , , .

Source: https://habr.com/ru/post/undefined/


All Articles