Um novo nível de otimização do Windows

Há cerca de dois anos, nossa equipe contou a Habr sobre seu projeto para otimizar o Windows usando a tecnologia de rede neural.

Nos últimos dois anos, muita coisa mudou, mas a coisa mais importante permaneceu inalterada. E neste artigo, queremos compartilhar essas descobertas e conclusões que foram feitas ao longo desses dois anos.

imagem

Se você está interessado na situação com produção independente de software para PC em 2020, seja bem-vindo ao gato.

Porém, antes de avançar para a narrativa principal, é necessário esclarecer que tudo o que foi dito abaixo é descrito da perspectiva de uma empresa independente, que no processo de desenvolvimento avança apenas à custa dos recursos internos.

O que foi feito nesses dois anos


A

publicação UWP na MS Store se tornou uma das mais difíceis, mas também uma das conquistas mais importantes ao trabalhar em um projeto. Foi essa etapa que nos permitiu ir além do mercado da CEI e desenvolver o mercado global de software para Windows.

Nova funcionalidade:

o próximo passo, depois que foi possível gerenciar as prioridades da CPU e os núcleos da CPU para otimizar o Windows, foi necessário ensinar o aplicativo a gerenciar todos os outros componentes principais de um PC para usar algoritmos de rede neural com a máxima eficiência.
E se tudo era relativamente simples com o gerenciamento de kernels e prioridades de CPU, para gerenciar as prioridades de RAM e de E / S, eu precisava mergulhar tanto na arquitetura do Windows que era hora de escrever dissertações. Por exemplo, de todo o software que conhecemos, apenas o WPS e o Process Lasso podem definir "alta" prioridade de E / S.

Bem, assim que o controle total da CPU, RAM e ROM foi dominado, a questão permaneceu com os dispositivos periféricos. Portanto, a próxima etapa de desenvolvimento foi o gerenciamento de energia, onde o WPS foi o único aplicativo que sabemos que gerencia energia dinamicamente, não estaticamente. Isso significa que, para obter o desempenho máximo, você não precisa manter constantemente a frequência da CPU em 100% e não permite que os núcleos estacionem, o que leva a operação constante com cargas máximas e aumento no consumo de energia. Agora, devido à análise de aplicativos pela rede neural, tornou-se possível obter o mesmo desempenho máximo, mas apenas quando o usuário está trabalhando com software pesado ou jogando jogos exigentes, para que o resto do tempo o computador não traduza eletricidade em calor sem nenhum benefício.

Além de otimizar os principais elementos do PC, foi adicionada a otimização da transferência de dados (através da compactação de tráfego e do bloqueio de anúncios na VPN), além da limpeza automática de arquivos indesejados.

Estabilidade

Nos últimos tempos, vimos várias vezes a escolha correta da arquitetura do aplicativo. Devido ao fato de que todas as operações com o sistema são realizadas através do WinAPI, a questão da estabilidade (sistema e software) ao fazer alterações nos parâmetros operacionais acabou por ser resolvida quase perfeitamente. Por mais de dois anos do aplicativo e mais de um milhão de dispositivos nos quais ele foi instalado, não registramos um único caso de problemas com a estabilidade do sistema ou incompatibilidade com aplicativos de terceiros.

UI / UX

Uma das principais áreas de trabalho nos últimos tempos foi a melhoria da interface do usuário / UX, o que nos permitiu reduzir o limite para novos usuários dominarem as principais funções de aplicativos. Aqueles que estão interessados ​​no tópico de desenvolvimento de UI / UX podem apreciar as mudanças consistentes em nossa interface principal sob o spoiler:

IU principal do WPS
image

image

image

image

image

image

image

Classificação do desempenho do hardware

Houve uma oportunidade não apenas de dizer quantos papagaios condicionais um PC específico fornece, mas também de avaliar a conformidade real do desempenho de um computador individual em relação a todos os PCs em que o aplicativo está instalado. Essa função resolve três problemas ao mesmo tempo. A primeira é a questão de qual componente do computador está mais desatualizado e precisa ser substituído. O segundo - quanto este computador é mais rápido / mais lento que todos os outros em geral. Terceiro, os algoritmos incorporados podem usar várias abordagens para aumentar o desempenho de PCs poderosos e fracos para obter os melhores resultados.

Principais conclusões


  • As vendas são tão importantes quanto a produção, uma não pode existir sem a outra, portanto, ambas as áreas no desenvolvimento de software requerem a mesma atenção e investimento.
  • , , , , .
  • , , -, .
  • — . , , .

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


All Articles