Meio Bit » Arquivo » Miscelâneas » Performance de Software II: O que é Bloatware?

Performance de Software II: O que é Bloatware?

18 anos atrás

Bloatware:
1. Software que provê funcionalidade mínima, requerendo quantidades desproporcionais de armazenamento, memória e processamento.
2. O resultado da adição de novos recursos em um programa ou sistema ao ponto em que seus benefícios são superados pelos requerimentos extraordinários (RAM, espaço em disco, performance) e complexidade de uso.
Fonte: www.dictionary.com

Como um programa pequeno, enxuto e eficiente no consumo de recursos e eficaz no seu trabalho e objetivo, torna-se uma Paris Hilton do consumo de memória e processamento? O programa passa a fazer de tudo um pouco, além da função original e acaba virando o famoso "jack-of-all-trades, master-of-none", que pode ser traduzido como o pau pra toda obra, especialista em nada.

O Nero é um exemplo clássico de um excelente programa para queimar CDs e DVDs que virou uma suíte com vários aplicativos e um download com mais de 100MB, que inclui player de vídeo, conversor de vídeo, programa de edição de som, sintetizador de som, transmissão de VoIP, gerenciador de imagens, sistema de backup de dados, emulador de drives entre vários outros.Lembram o rápido visualizador de imagens ACDSee 32? Era um sucesso, porque ele tinha a velocidade do XTree Gold para ver imagens e rodava nativamente no Windows 95. Hoje, dê uma olhada no que ele virou.

Mas o que leva uma empresa a fazer essa "agregação" toda? A verdade é que eles precisam diversificar para continuar vendendo. Quando você compra um gravador de CDs/DVDs novo, ele vem com um software básico para fazer as tarefas de gravação e ele basta por toda vida útil do equipamento: gravar CDs e DVDs, ponto. A função do ACDSee original acabou incorporada ao Windows Picture and Fax Viewer e ninguém pagaria mais 20 dólares por essa funcionalidade.

Desde o Nero 5, a função de gravação de mídia não mudou praticamente nada, mas a quantidade de programas satélite foi vertiginosa. E acontece com ele o mesmo que vários outros programas. Instalei o demo e só usei as funcionalidades existentes no gravador. É claro que se você filma vídeos, cria DVDs, usa VoIP, edita som, faz backups constantes, e mais um sem número de tarefas, nada melhor que comprar por uma quantia módica, num único pacote, todos os programas que você precisa. Não tenho dados precisos para afirmar porcetagens, mas pelo que vejo no uso comum de uns 30 usuários, 2 ou 3 no máximo fariam uso de mais da metade dos recursos do programa. Isso ficaria no máximo em 10%. E estou falando de profissionais de informática, não de leigos.

Outra necessidade que o bloatware causa, é a necessidade de equipamentos melhores. Um jogo como o Half-Life 2, é bastante eficiente no consumo de recursos. Já o Quake IV me faz querer fazer um upgrade. No mundo dos jogos, o excesso se traduz em querer colocar em tempo real algo que só era feito em uma render farm¹. Mas poucos se perguntam: então porque tanta gente compra portáteis, com gráficos e som infinitamente inferiores e tanta gente ainda adora jogos de tabuleiro e os livros de Dungeons & Dragons?

Gráficos bonitos são um apelo, é claro, mas quantos milhões de dólares são gastos em verdadeiras porcarias? Lindos de se ver e ouvir, mas depois de algumas horas jogando, você prefere jogar Mário ou Sonic, com toda sua simplicidade e ainda assim, excelentes.

Nesse caso, o bloatware entra mascarando a falta de idéias novas e repetição de fórmulas, mas também com a conivência da indústria de hardware, que vive da necessidade do "mais" de forma intransitiva. Mais o que? Qualquer coisa: hd, memória, placa de vídeo, cpu, drives de alta performance, novos barramentos de vídeo, contanto que seja "mais". O fato é que nós queremos gráficos melhores e som cada vez mais realista, mas de forma honesta e não jorrando código ruim em cima do equipamento.

A pergunta que tenho feito há várias pessoas e parece haver um certo consenso na resposta é "Será que meu computador, comprado há uns dois anos é tão ruim assim ou é o software que não extrai o melhor dele?"
Na época do primeiro Doom, a idSoftware precisava dar suporte há alguns tipos de placa de som. Se não houvesse esse suporte, não funcionava e pronto. Isso, é claro diminuía as opções de hardware e dificultava a programação, mas tinha uma performance excelente. Mesmo com o Windows, os fabricantes continuaram fazendo jogos em DOS4GW até que a Microsoft criou uma camada de abstração de hardware: o DirectX, que funciona para comunicação, som, vídeo, gráficos 2D/3D e controles. Ele foi rapidamente adotado, mas criava um overhead: o jogo deixou de falar diretamente com a placa de vídeo, para falar com esse aplicativo. Isso barateou os custos de produção, mas fez praticamente todas as placas de vídeo ficarem obsoletas, porque
o suporte precisa estar embarcado na placa de vídeo.

Hoje em dia, as máquinas estão muito melhores, mas para configurar a minha placa de vídeo ATI com os drivers nativos, é preciso instalar a .Net Framework 1.1. A ferramenta de configuração é maior que os próprios drivers e o suporte nativo, rápido e eficaz, acabou. Da mesma forma, para se obter tudo dos melhores jogos, é necessário comprar a GPU com "suporte ao DirectX 9" e em breve "suporte ao DirectX 10".

O popular RPG da Bioware Neverwinter Nights 2 será lançado em meados desse ano e já foi avisado para a comunidade: sem placa de vídeo com suporte nativo para DirectX 9, o jogo não roda. Recomenda-se no mínimo uma Radeon 9600 ou melhor. Todas as gerações da nVidia baixo da linha 5xxx estão obsoletas para esse jogo.

É claro que não estou defendendo o uso de velharias de 10 anos atrás ou que o software não deva evoluir ou jogos possuírem gráficos melhores. Mas repare nos gráficos de um console como o PlayStation 2. Os desenvolvedores estão extraindo o máximo do equipamento e ainda conseguem deixar os usuários boquiabertos, mesmo com limitações de resolução, processamento, memória, armazenamento. Será que o mesmo não seria possível para o restante da indústria?

¹Fazendas de renderização: grupos de centenas de computadores trabalhando em conjunto. Eles possuem milhares de processadores, terabytes de armazenamento e memória, todos trabalhando em conjunto para processar as imagens. Muito usado em efeitos especiais de filmes e mandatórios em todas as animações 3D recentes da última década.

relacionados


Comentários