Anúncio fechado

Já no início do ano, representantes da Apple eles reivindicaram, que o novo iOS 12 terá como foco principal a otimização e teremos que esperar por novidades mais fundamentais até o próximo ano. Praticamente o mesmo foi dito na palestra de segunda-feira, durante a seção sobre iOS 12. Sim, algumas novidades realmente aparecerão na próxima iteração do iOS, mas o papel principal é desempenhado pela otimização, que agradará especialmente os proprietários de máquinas mais antigas ( sobre como o iOS 12 deu vida ao meu Você poderá ler o iPad Air de 1ª geração já neste fim de semana). Ontem, no âmbito do programa WWDC, foi realizada uma palestra onde foi explicado com mais detalhes o que a Apple tem feito para que o novo sistema funcione visivelmente mais rápido.

Se você realmente se interessa por esse tema e quer saber como funcionam determinados elementos do iOS na prática, recomendo assistir a gravação da palestra. Tem cerca de 40 minutos de duração e está disponível no site oficial da Apple com o título Sessão 202: O que há de novo no Cocoa Touch. Se não quiser perder três quartos de hora assistindo à gravação da conferência, você pode ler uma transcrição mais concisa aqui, no entanto, é um tanto técnico. Para o restante de vocês, tentarei um resumo simplificado abaixo.

Confira as imagens do lançamento do iOS 12:

Com o iOS 12, a Apple decidiu focar na otimização, já que muitos usuários reclamaram da depuração (especialmente no iOS 11). A grande maioria das reações negativas estava relacionada a algum tipo de “lentidão”, “travamento” e “falta de suavidade” do sistema e de suas animações. Os programadores da Apple, portanto, mergulharam no básico e superaram todo o sistema de animação do iOS. Esse esforço consistiu principalmente em três ajustes principais que fazem o iOS 12 funcionar da maneira que funciona. Os programadores conseguiram descobrir falhas que estão presentes no iOS desde o iOS 7.

1. Preparação de dados

A primeira mudança é a otimização da chamada Cell Pre-fetch API, que simplesmente cuidava de uma espécie de preparação dos dados antes que o sistema realmente precisasse deles. Quer fossem imagens, animações ou outros dados, o sistema deveria pré-reproduzir os arquivos necessários na memória com esta API para que estivessem disponíveis quando fossem usados ​​e assim não houvesse picos na carga do processador que causassem os problemas de fluidez acima mencionados. Como descobrimos durante uma auditoria completa desse algoritmo, ele não funcionou corretamente.

Em alguns casos ele pré-preparou os dados, em outros não. Em outros casos, o sistema carregava os dados mesmo já preparados no cache desta API, e às vezes ocorria uma espécie de “carregamento duplo”. Tudo isso causou quedas de FPS durante animações, cortes e outras inconsistências no funcionamento do sistema.

2. Desempenho instantâneo

A segunda mudança é a modificação do gerenciamento de energia das unidades computacionais do dispositivo, seja CPU ou GPU. Nas versões anteriores do sistema, demorava visivelmente mais tempo para o processador perceber o aumento das demandas de atividade e, assim, aumentar suas frequências operacionais. Além disso, esta aceleração/desaceleração do processador ocorria de forma gradual, pelo que em muitos casos acontecia que o sistema necessitava de energia para alguma tarefa, mas não estava imediatamente disponível, e voltavam a ocorrer quedas nas animações FPS, etc. iOS 12, porque é aqui que a curva de desempenho dos processadores foi ajustada de forma significativamente mais agressiva, e o aumento/diminuição gradual das frequências é agora imediato. O desempenho deve, portanto, estar disponível nos momentos em que for necessário.

3. Layout automático mais perfeito

A terceira mudança diz respeito à interface que a Apple introduziu no iOS 8. É o chamado framework Auto-layout, que entrou no iOS na época em que a Apple começou a aumentar o tamanho das telas do seu iPhone. A estrutura garantiu que a aparência da interface do usuário estivesse correta, independentemente do tipo e tamanho da tela em que os dados foram renderizados. É uma espécie de muleta que ajuda os desenvolvedores a otimizar seus aplicativos (mas não só eles, este framework é parte integrante do sistema iOS como tal e cuida da exibição correta de todas as partes da interface do usuário) para diversos tamanhos de exibição. Além disso, todo este sistema é amplamente automatizado. Após um exame detalhado, descobriu-se que seu funcionamento exige bastante recursos do sistema, e os maiores impactos no desempenho apareceram no iOS 11. No iOS 12, a referida ferramenta recebeu uma reformulação e otimização significativa, e em sua forma atual, seu o impacto na operação do sistema é consideravelmente menor, o que libera amplamente recursos na CPU/GPU para as necessidades de outros aplicativos e ferramentas.

Como você pode ver, a Apple realmente levou os processos de otimização desde o auge e isso realmente fica evidente no produto final. Se você possui iPhones ou iPads do ano passado, não espere muitas mudanças. Mas se você possui um aparelho com dois, três, quatro anos, a mudança com certeza será mais do que perceptível. Embora o iOS 12 esteja atualmente em seus estágios iniciais, ele já funciona significativamente melhor do que qualquer versão do iOS 1 no meu iPad Air de 11ª geração.

.