Pull to refresh

Новый уровень оптимизации Windows

Reading time 3 min
Views 15K
Около двух лет назад наша команда поведала Хабру о своём проекте по оптимизации ОС Windows с помощью технологии нейросетей.

За прошедшие два года многое изменилось, но самое главное осталось неизменным. И в этой статье мы хотим поделиться теми открытиями и теми выводами, которые сделали за эти два года.

image

Если вам интересно, как в 2020ом обстоят дела по независимому продакшену софта для ПК, добро пожаловать под кат.

Но прежде чем перейти к основному повествованию, необходимо уточнить, что всё сказанное ниже рассказано с позиции независимой компании, которая в процессе развития двигается вперед только за счёт внутренних ресурсов.

Что было сделано за эти два года


UWP

Публикация в MS Store стала одним из самых непростых, но и одним из самых важных достижений при работе над проектом. Именно этот шаг позволил выйти за пределы СНГ рынка и осваивать глобальный рынок ПО для Windows.

Новый функционал

Следующим шагом, после появления возможности управлять приоритетами ЦП и ядрами ЦП для оптимизации Windows нужно было научить приложение управлять всеми остальными ключевыми компонентами ПК, чтобы использовать алгоритмы нейросети с максимальной эффективностью.
И если с управлением ядрами и приоритетами ЦП всё было относительно просто, то для управления приоритетами ОЗУ и приоритетами ввода-вывода пришлось настолько погрузиться в архитектуру Windows, что уже в пору писать диссертации. Для примера, из всего известного нам софта, установить «высокий» приоритет ввода-вывода может только WPS и Process Lasso.

Ну и как только было освоено полное управление ЦП, ОЗУ и ПЗУ, дело оставалось за периферийными устройствами. Поэтому следующим шагом развития стало управлением питанием, где WPS стал единственным известным нам приложением, которое управляет питанием динамически, а не статически. Это означает, что для максимальной производительности не нужно постоянно держать частоту ЦП на 100% и не давать ядрам парковаться, что приводит к постоянной работе на предельных нагрузках и повышенному расходу питания. Теперь за счёт анализа приложений нейросетью, появилась возможность получить ту же максимальную производительность, но именно тогда, когда пользователь работает с тяжёлым софтом или играет в требовательные игры, чтобы в остальное время компьютер не переводил без пользы электричество в тепло.

И в дополнение к оптимизации ключевых элементов ПК, была добавлена оптимизация передачи данных (через сжатие трафика и блокировку рекламы на VPN), а так же автоматическая очистка мусорных файлов.

Стабильность

За прошедшее время мы многократно убедились в правильности выбора архитектуры приложения. Благодаря тому, что все операции с системой производятся через WinAPI, вопрос стабильности (системы и ПО) при внесении изменений в параметры работы оказался решён практически идеально. За более чем два года существования приложения и более миллиона устройств, на которых оно было установлено, мы не зарегистрировали ни одного случая возникновения проблем со стабильностью работы системы или несовместимости со сторонними приложениями.

UI/UX

Одним из самых ключевых направлений работы за прошедшее время было усовершенствование UI/UX, которое позволило очень сильно понизить порог входа новых пользователей для освоения ключевых функций приложения. Тем кому интересна тема развития UI/UX могут оценить последовательные изменения нашего основного интерфейса под спойлером:

WPS Main UI
image

image

image

image

image

image

image

Рейтинг аппаратной производительности

Появилась возможность не просто сказать сколько условных попугаев выдаёт тот или иной ПК, а оценить реальное соответствие производительности отдельного компьютера относительно всех актуальных ПК, на которых установлено приложение. Такая функция решает сразу три проблемы. Первая — вопрос того, какой компонент компьютера сильнее всего устарел и нуждается в замене. Вторая — насколько данный компьютер быстрее/медленнее всех прочих в целом. Третья — встроенные алгоритмы могут использовать различные подходы к повышению производительности мощных и слабых ПК для достижения наилучших результатов.

Ключевые выводы


  • Продажи так же важны как и производство, одно без другого существовать не может, поэтому оба этих направления при разработке ПО требуют одинакового внимания и вложений.
  • Обратная связь от конечного клиента решает всё, какими бы выдающимися не были ваши технологические решения, они бесполезны, если клиенту они не нужны, он не знает как их использовать или они банально непривлекательны.
  • Любые решения необходимо проверять и перепроверять, теория и практика расходятся независимо от объёма вашей экспертизы, поэтому нужно проверять любое изменение на фокус-группе, чтобы убедится в верности ваших решений.
  • Стабильность — залог успеха. Это справедливо на всех уровнях, как стратегическом в поведении компании и людей, так и в прикладном в отношении продукта.
Tags:
Hubs:
-5
Comments 26
Comments Comments 26

Articles