Eine neue Stufe der Windows-Optimierung

Vor ungefähr zwei Jahren erzählte unser Team Habr von seinem Projekt zur Optimierung von Windows mithilfe neuronaler Netzwerktechnologie.

In den letzten zwei Jahren hat sich viel geändert, aber das Wichtigste ist unverändert geblieben. Und in diesem Artikel möchten wir diese Entdeckungen und Schlussfolgerungen teilen, die in diesen zwei Jahren gemacht wurden.

Bild

Wenn Sie sich für die Situation mit der unabhängigen Produktion von PC-Software im Jahr 2020 interessieren, sind Sie bei cat willkommen.

Bevor wir jedoch zur Haupterzählung übergehen, muss klargestellt werden, dass alles, was im Folgenden gesagt wird, aus der Perspektive eines unabhängigen Unternehmens beschrieben wird, das im Entwicklungsprozess nur auf Kosten interner Ressourcen voranschreitet.

Was wurde in diesen zwei Jahren getan?


Die UWP-

Veröffentlichung im MS Store ist zu einer der schwierigsten, aber auch zu einer der wichtigsten Errungenschaften bei der Arbeit an einem Projekt geworden. Dieser Schritt ermöglichte es uns, über den GUS-Markt hinauszugehen und den globalen Markt für Windows-Software zu entwickeln.

Neue Funktionalität

: Nachdem es im nächsten Schritt möglich war, CPU-Prioritäten und CPU-Kerne zur Optimierung von Windows zu verwalten, musste der Anwendung beigebracht werden, alle anderen Schlüsselkomponenten eines PCs zu verwalten, um neuronale Netzwerkalgorithmen mit maximaler Effizienz verwenden zu können.
Und wenn die Verwaltung der Kernel- und CPU-Prioritäten relativ einfach war, musste ich mich so sehr mit der Windows-Architektur befassen, dass es an der Zeit war, Dissertationen zu schreiben, um die Prioritäten des RAM und die Prioritäten der E / A zu verwalten. Beispielsweise können von der uns bekannten Software nur WPS und Process Lasso eine „hohe“ E / A-Priorität festlegen.

Nun, sobald die volle Kontrolle über CPU, RAM und ROM beherrscht war, lag es an den Peripheriegeräten. Daher war der nächste Entwicklungsschritt die Energieverwaltung, bei der WPS die einzige uns bekannte Anwendung war, die die Energie eher dynamisch als statisch verwaltet. Dies bedeutet, dass Sie für maximale Leistung die CPU-Frequenz nicht ständig auf 100% halten müssen und die Kerne nicht parken dürfen, was zu einem konstanten Betrieb bei maximaler Last und erhöhtem Stromverbrauch führt. Aufgrund der Analyse von Anwendungen durch das neuronale Netzwerk wurde es nun möglich, die gleiche maximale Leistung zu erzielen, jedoch nur dann, wenn der Benutzer mit schwerer Software arbeitet oder anspruchsvolle Spiele spielt, sodass der Computer den Rest der Zeit keinen Strom ohne Nutzen in Wärme umwandelt.

Zusätzlich zur Optimierung der Schlüsselelemente des PCs wurde die Datenübertragungsoptimierung (durch Verkehrskomprimierung und Blockierung von Anzeigen im VPN) sowie die automatische Bereinigung von Junk-Dateien hinzugefügt.

Stabilität

In der letzten Zeit haben wir wiederholt die richtige Wahl der Anwendungsarchitektur gesehen. Aufgrund der Tatsache, dass alle Vorgänge mit dem System über WinAPI ausgeführt werden, stellte sich heraus, dass das Problem der Stabilität (System und Software) bei Änderungen an den Betriebsparametern nahezu perfekt gelöst wurde. Seit mehr als zwei Jahren der Anwendung und mehr als einer Million Geräten, auf denen sie installiert wurde, haben wir keinen einzigen Fall von Problemen mit der Stabilität des Systems oder der Inkompatibilität mit Anwendungen von Drittanbietern registriert.

UI / UX

Einer der wichtigsten Arbeitsbereiche in der Vergangenheit war die Verbesserung von UI / UX, mit der wir den Schwellenwert für neue Benutzer senken konnten, um wichtige Anwendungsfunktionen zu beherrschen. Diejenigen, die sich für das Thema UI / UX-Entwicklung interessieren, können die sequentiellen Änderungen in unserer Hauptoberfläche unter dem Spoiler schätzen:

WPS-Hauptbenutzeroberfläche
Bild

Bild

Bild

Bild

Bild

Bild

Bild

Bewertung der Hardwareleistung

Es gab nicht nur die Möglichkeit zu sagen, wie viele bedingte Papageien ein bestimmter PC ausgibt, sondern auch die tatsächliche Konformität der Leistung eines einzelnen Computers in Bezug auf alle tatsächlichen PCs zu bewerten, auf denen die Anwendung installiert ist. Eine solche Funktion löst drei Probleme gleichzeitig. Die erste ist die Frage, welche Komponente des Computers am veraltetesten ist und ersetzt werden muss. Das zweite - wie viel dieser Computer ist schneller / langsamer als alle anderen im Allgemeinen. Drittens können eingebettete Algorithmen verschiedene Ansätze verwenden, um die Leistung leistungsfähiger und schwacher PCs zu steigern und die besten Ergebnisse zu erzielen.

Wichtigste Ergebnisse


  • Der Vertrieb ist genauso wichtig wie die Produktion, einer kann nicht ohne den anderen existieren, daher erfordern beide Bereiche der Softwareentwicklung die gleiche Aufmerksamkeit und Investition.
  • , , , , .
  • , , -, .
  • — . , , .

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


All Articles