O OS X Snow Leopard aparentemente não faz nada realmente novo. E, mesmo assim, é possível que seja o sistema operacional mais importante desde o 10.0.0.

O Snow Leopard, dando sequência ao Leopard, é quase absurdamente insubstancial à primeira vista. O novo sistema operacional pega todas as velhas tarefas maçantes do dia-a-dia, como abrir arquivos, por exemplo, e as torna sutilmente mais rápidas. Mas este desempenho não está sendo utilizado por nenhum programa de terceiros por ora. E praticamente não há nenhum programa novo da própria Apple. Nadica: a maioria é composta apenas de antigos programas reescritos e dezenas de pequenos tweaks na interface. Alguns fanboys perguntarão, incrédulos: “Isto é um novo sistema operacional?!” Estas pessoas simplesmente não entenderam o espírito da coisa.

Numa inspeção mais minuciosa, os aspectos menos distinguíveis do Snow Leopard – desempenho espremido de múltiplos núcleos subutilizados de CPU/GPUs e tweaks básicos na interface com o usuário são o tipo de refinamento geralmente reservado para a virtuosidade. Estas otimizações na velocidade são profundas e me lembra um mestre em uma arte marcial que joga todo o seu peso por trás de um golpe (enquanto um neófito lança seus membros como um capanga tosco em um filme do Bruce Lee). Os pequenos tweaks na interface com o usuário não diferem em nada do cinzel de um grande escultor que trabalha na remoção de todas as partes não-essenciais durante as fases finais de uma estátua. Desafiando 30 anos de tradição cada vez mais inchada de softwares, as mudanças neste caso são um meio termo mais eficiente entre a mídia e o hardware, reduzindo a fricção ao mesmo tempo em que se torna útil por ser, digamos, mais leve e menos visível.

E se você acha que isto é balela, bem, não podemos dizer que você está inteiramente louco, mas pelo menos há o consolo de que este upgrade no SO custa praticamente tanto quanto um jogo usado de Xbox.

 

Desempenho

 

Após fazer um pouco de benchmarking com um MacBook Air de primeira geração, um MacBook Pro 15 mais velhinho e um par de MacBook Pros de 13” da geração atual, fica claro que o Snow Leopard é mais rápido – às vezes drasticamente mais rápido – mas quase nunca nos aplicativos de terceiros. Algumas pessoas gostam de gráficos e planilhas. Se você não está a fim de passar por isto, eis um resumo:

Na visualização, onde abrir seis imagens de 35MB e 20.000 pixels de largura da vista de Tóquio levou cada uma a metade do tempo no Snow;

O processamento de javascript do Safari, usando a tecnologia específica do Snow, é aproximadamente 40% mais veloz – bastante útil para todos aqueles sites pesados em Ajax que tanto usamos agora;

O Time Machine fez backup de um conjunto de dados de 1GB quase 40% mais rápido no Leopard;

Não houve nenhuma melhora perceptível nos programas não otimizados para 32 bits: os testes do Photoshop e os tempos de ripagem do Handbrake DVD foram idênticos. A reprodução de filmes em alta definição no QuickTime 7 (não na versão nova QuickTime 10) também foi idêntica na utilização da CPU;

Os resultados sintéticos do benchmark foram interessantes: o aplicativo já amadurecido Xbench, que testa tudo desde gráficos a discos a memória, sofreu uma ligeira queda no desempenho, sugerindo que softwares mais antigos também sofram o mesmo problema. O Geekbench, um benchmark mais novo e otimizado para múltiplos núcleos, disponível tanto em 32 quanto em 64 bits, teve um ligeiro incremento no Snow. Mas o teste só foca no desempenho teórico da CPU e da memória, que talvez não se traduza no uso do dia-a-dia.

 

Eis um vídeo daquelas JPEGs se abrindo em paralelo em vez de serialmente:

 

Já está impressionado? Não deveria. Bem, pelo menos não pelo ato de abrir-se imagens. Mas você definitivamente deve se impressionar quando perceber o que istorealmente prova: a Apple acabou de sacar o dobro do desempenho do meu hardware só usando um diferente software. Eureka!

 

Como o Snow Leopard fica mais rápido?

Existem três motivos fundamentais para estes incrementos no desempenho: melhor suporte a processador de múltiplos núcleos, algo que a Apple chama de GCD (Grand Central Dispatch – algo que nós explicamos aqui); APIs OpenCL para utilização do poder de processamento de qualquer placa de vídeo acima da GeForce 8600 para aceleração de vídeo e computação geral; e eles reescreveram praticamente todos os aplicativos que vêm junto com o Snow Leopard para rodar em modo 64 bits, ao mesmo tempo em que se aproveita do GCD e do CoreCL. Ou seja, ele torna o processamento dos chips atuais mais eficiente e mais fácil para os desenvolvedores. E também confere aos programas uma maneira de utilizar o poder de processamento de uma placa de vídeo enquanto não está rodando nenhum jogo. Ele também permite que os programas rodem em modo de 64 bits, cuja principal vantagem teórica é permitir que estes programas acessem mais de 4GB de RAM nos sistemas que têm mais memória (mais sobre isso ao final do post*).

O Snow Leopard é eficiente de outras maneiras também. O tamanho de instalação caiu de 16GB para 10GB. A maior parte deste emagrecimento se deve ao fato de terem se livrado de drivers de impressora e a parte PowerPC dos binários universais (o Snow Leopard só roda com hardware Intel e baixa os drivers de impressoras direto da Internet conforme você precisa deles). A instalação também é uns 30% mais rápida em qualquer máquina (consistente com o tamanho menor de instalação). E, em uma jogada que só pode ser considerada exibicionista, o Snow Leopard consegue terminar a sua instalação caso você acidentalmente desligue o computador no meio da operação.

Mas estou divergindo. O ponto final sobre o desempenho é que os programas que vêm junto com este sistema operacional farão praticamente qualquer coisa mais rápido em máquinas modernas que suportam estas tecnologias – ou seja, a maior parte dos Macs de múltiplos núcleos ou aquelas rodando placas de vídeo Nvidia 8600 ou superior. E não é só um pouquinho mais rápido, mas uns 25 a 50% mais rápido, o que significa que há uma quantidade de processamento latente e disponível na sua placa de vídeo e CPU. Ótimo! Mas, para ser honesto, é um tanto menos impressionante na vida real do que aparenta ser porque todas as tarefas básicas de sistema rodam rapidamente de qualquer jeito (quando foi a última vez que você ficou sentado esperando uma JPEG abrir?). Novamente, nenhum outro aplicativo que usa GCD ou OpenCL está disponível de fabricantes de software que não sejam a Apple. Mas, se os ganhos teóricos chegaram para serem aproveitados por meio de métodos mais simples de programação, eu aposto que estes aplicativos virão logo.

 

Simplificação da interface

 

Existem 5 grandes mudanças na interface com o usuário:

 

Finder

Os ícones agora aumentam de tamanho – cortesia de uma pequena barra slider no canto direito inferior do painel – para até 512 pixels de largura. Parece desnecessário, mas só até você saber que os arquivos de vídeo podem ser tocados diretamente da janela do Finder. Honestamente, eu não acho isso melhor que o QuickLook (apertar a barra de espaço para fazer aparecer uma janela de rápida visualização) do Leopard. Não me importo com a opção, mas não vejo muito uso pra mim neste recurso.

Dock

O dock do OS X tem sido interativo há um bom tempo. Você podia arrastar um arquivo para um ícone e de alguma maneira fazer com que ambos interagissem, mas você nunca podia usar o dock para selecionar que instância de janela de um aplicativo usar. Agora, ao clicar e segurar (no nada ou com um arquivo) você ativa o Expose – o troço de gerenciamento de janelas da Apple – para aquele aplicativo em particular. Ser capaz de rapidamente abrir as janelas de um aplicativo e depois selecionar a correta em um único passo é animal, mas você ainda não pode usar o Expose para rapidamente encontrar a guia do navegador que você deseja dentro de uma janela. Isto é um problema cada vez maior conforme o nosso tempo usando navegadores tende a crescer.

Expose

O Expose em si também melhorou. Ao visualizar todas as janelas de um aplicativo na vista mais afastada do Expose, os itens agora são dispostos em uma grade em vez de uma única linha impossível de se ler, e cada janela possui uma descrição em texto (isto ajuda bastante quando você está tentando reconhecer uma janela em particular entre muitos documentos de textos ou e-mails semelhantes – e miniaturizados pelo Expose). Janelas minimizadas agora são exibidas na parte de baixo da tela, logo abaixo uma linha tênue que divide das outras janelas maximizadas do mesmo aplicativo.

 

Stacks

Quando o Stacks debutou no Leopard, o rápido visualizador de arquivos embutido no dock era muito complicado de se usar. Você tentava mover um arquivo e ele se fechava sozinho, provavelmente ofendido por você tentar fazer qualquer coisa que não fosse abrir um arquivo. E o espaço era sempre muito limitado tanto no modo leque quanto grade para exibir mais do que alguns poucos ícones. O Stacks melhorou neste aspecto ao permitir rolagem na visualização em grade, mas também ao acrescentar uma visualização de lista rápida capaz de exibir diversos arquivos ao mesmo tempo. Ah, melhorou, vai.

 

QuickTime 10

Colocar o QuickTime nesta lista é questionável, mas fora a sua aceleração, há algumas mudanças grandes nele. Ou melhor, conforme você afasta o mouse, a tela de vídeo perde todas as bordas e botões, parecendo o equivalente em vídeo a uma piscina infinita ou um daqueles LCDs ultrafinos. O programa possui um novo sistema de captura para gravar clipes de áudio e de vídeo e até mesmo sessões de captura de tela com voz. Ele também pega emprestado a linha de corte de thumbnail do iMovie ’09. Eu adorei.

Mas, convenhamos, no geral, chamar estas mudanças de “grandes” é ser generoso demais. Mas há literalmente dezenas de exemplos menores, todos muito bem-vindos, todos reduzindo os pontos de atrito no uso do SO, eliminando cliques e tornando o SO menos obtuso. Você pode ler todas estas adições individualmente na galeria abaixo (*NT: em inglês), ou aqui em uma única página, caso você tenha curiosidade de lê-las todas. Caso contrário, acredite no que digo: elas todas melhoram bastante o sistema.

 

Apesar de não ser relacionado ao desempenho nem à interface com o usuário, um benefício adicional do Snow Leopard é o suporte gratuito ao Exchange, assim o seu e-mail, caderno de endereços e calendários podem todos se sincronizar por meio dele. Eu não trabalho em uma corporação, então pra mim não importa, mas pra você pode importar.

 

Coisas ruins

Que tipo de fanboy doentio eu seria se eu não mencionasse as imperfeições?

A capacidade do Safari 4 de segmentar plugins instáveis de navegadores passou a ser útil quando muitas mais páginas em flash travavam no Snow Leopard do que no Leopard.

Atualização: outros leitores descobriram que o Snow Leopard desativou ou deixou estranho o uso de alguns dos seus aplicativos.

Eu também notei que o Expose não roda tão bem com o Spaces agora. Você às vezes seleciona uma janela em outro desktop virtual Spaces e ele não abre a janela.

Se você tiver algum aplicativo crítico de terceiros que você precise rodar todos os dias, você deve verificar antes a sua compatibilidade e esperar por uma nova versão antes de atualizar o seu SO. Olhe antes de dar o salto. O SO não é tão radicalmente novo a ponto de você precisar dele exatamente agora.

 

Miau

As mudanças são modestas e os ganhos de desempenho parecem promissores, mas além dos aplicativos embutidos, é apenas uma promessa mesmo. Se você espera que os sinos de Belém toquem, é melhor você esperar por este upgrade pelo menos por um tempinho. Mas o meu palpite é que o maior recurso do Snow Leopard é que ele não tem nenhum recurso novo, mas o que tinha foi refinado e está um passo mais próximo da perfeição. Mas é melhor que eles apresentem alguns recursos novos da próxima vez, porque o upgrade de requinte invisível só funciona uma vez a cada algumas décadas.

 

Usa múltiplos núcleos latentes e potência da GPU para acelerar bastante os aplicativos que vêm com ele

 

Custa apenas 30 dólares

 

Ainda não vi nenhum aplicativo de terceiros que tenham sido reescritos para tirar proveito da velocidade do Snow Leopard

 

O fato de não ter nenhuma grande funcionalidade nova pode embotar algumas das já existentes

 

*Histórico do desempenho: você pode pular esta seção

Os chips atuais têm pairado na casa dos 2-3,6GHz já faz um tempo, com ganhos na potência teórica de processamento obtidos aumentando-se o número de núcleos de CPU em um chip e otimizando o silício destes núcleos. Pense em um telhado: é mais fácil você protegê-lo com um monte de pequenas telhas do que com uma única telha gigantesca. Infelizmente, a potência fornecida pelos núcleos adicionais de CPU em boa parte é desperdiçada porque é difícil escrever um código que se utilize integralmente de múltiplos núcleos. O programador precisa escrever o aplicativo de maneira que ele quebre os problemas grandes em múltiplos problemas menores (chamados threads), cada um deles rodando em um único núcleo de CPU. O aplicativo então passa a ser um guarda de trânsito que mantém os threads em sincronia. Se qualquer parte sair da sincronia, o aplicativo trava ou fica forçosamente ocioso.

Este problema fica ainda mais complexo porque muitos aplicativos são escritos com um número máximo de threads em mente. Enquanto algumas tarefas – tais como codificação de vídeo ou processamento de foto – têm como tirar proveito naturalmente de múltiplos núcleos, a maior parte precisa executar algum trabalho para acrescentar suporte para mais threads, assim o planejamento futuro passou a ser difícil. Eu não sei se programar GCD é mais fácil que a programação direta em múltiplos núcleos – nos cobrimos alguns destes detalhes aqui – mas a chave neste caso é que a Apple criou um meio termo onde os desenvolvedores podem trabalhar que automaticamente se reflete no número de núcleos de CPU ou outro hardware no seu sistema. O desenvolvedor escreve para GCD, enquanto o sistema lida com o trabalho pesado. A Apple espera que mais pessoas usarão este método mais fácil e mais planejado para o futuro de extrair a potência dos múltiplos núcleos. Logicamente, ninguém o fez até hoje, exceto os próprios programadores da Apple. Isto explica o porquê do Finder, Preview e praticamente tudo o mais que vem junto com o Snow Leopard roda mais rápido. Ainda assim, como podemos ver pelos aplicativos do sistema, existe um grande potencial nesta situação. E, convenhamos, a maior parte de nós não fica renderizando arquivos de Photoshop o dia inteiro, então todo este incremento no desempenho é algo que você vai guardar no bolso por enquanto.

Tem também o lance da eficiência. Como o GCD é melhor para lidar com os recursos, um programa como o Mail, por exemplo, provoca menos impacto no sistema (uso de thread, uso da CPU) enquanto fica parado no Snow Leopard do que no Leopard. Ao testar a aceleração do hardware do OpenCL – algo que as máquinas Windows já têm há um bom tempo – ao tocar um trailer em 1080p do novo filme animal do James Cameron, Avatar, o uso da CPU caiu drasticamente quando as máquinas estavam usando o CoreCL de 64 bits e a versão suportada do QuickTime no GCD. Qualquer máquina moderna é capaz de rodar vídeo em 1080p bem, mas neste caso estamos falando do Snow Leopard exigir menos do sistema a ponto de levar o uso da CPU de 30% para 16% nos MacBook Pros de 13”. Outros aplicativos com o tempo serão capazes de usar estes superpoderes da GPU, mas o que a Apple diz sobre o verdadeiro potencial para processamento de GPU é que o OpenCL permitirá que os computadores usem mais placas de vídeo não apenas para aceleração 3D, codificação de vídeo e cálculos pesados, mas outras tarefas mais genéricas de computação também, já que é escrita em uma linguagem de programação não-específica (baseada em C).

Além disso, houve uma boa quantidade de bons artigos questionando os benefícios de velocidade da computação de 64 bits. A Apple só diz que as tarefas baseadas em cálculos se beneficiam mais do incremento, mas em geral a única vantagem concreta da computação em 64 bits é a capacidade que os aplicativos têm de manipular mais de 64GB de RAM, uma limitação da computação em 32 bits. Os gurus de desenvolvimento da Apple ainda dizem que alguns aplicativos ficarão ainda mais lentos caso sejam usados em 64 bits. Assim, reescrever os aplicativos nas versões 64 bits não é uma receita garantida para incremento de velocidade.

Em muitos casos, com muitos dos aplicativos embutidos, a Apple atribui a melhora do desempenho a todas as três tecnologias de núcleos acima. Isto tudo não significa muito hoje, mas pode significar pra caramba amanhã conforme as GPUs ficam mais rápidas e as CPUs ganham mais núcleos, e já existe toda uma infraestrutura pronta para extrair todo o potencial disto.