Por que o Unity é um ambiente de desktop "lento"?

39

fundo

Antes de tudo, não se trata de opiniões. Estou assumindo que estamos falando do Unity 3D e em um computador com configuração gráfica decente. Por "ambiente de desktop", estou assumindo a definição mais aceita do que significa DE.

Tenho visto muitas comparações feitas e muitas pessoas dizendo que o Unity é o ambiente de desktop mais lento do Ubuntu (comparado a outros como Gnome, XFCE, LXDE etc.). Não sei se as pessoas levaram o KDE em consideração ou não.

Questão

  • Por que o Unity é lento em comparação com outros ambientes de desktop? É apenas por causa dos altos gráficos usados ​​no Unity ou algo mais? (Eu não sei o que na unidade faz com que seja lento.).
  • Que mudanças podem ser / estão sendo feitas no Unity para torná-lo mais rápido / melhorar seu desempenho?
Bharadwaj Srigiriraju
fonte
Com base nos benchmarks atuais, não acho que sua premissa esteja correta.
Belacqua
Acho que esse comentário teria sido mais útil se você fornecer links para os benchmarks atuais de que você fala. Também é preciso ter em mente que essa pergunta foi feita há mais de meio ano.
Bharadwaj Srigiriraju
Referências para o pré-lançamento 13.04 na resposta de Luis Alvarado. Veja também o mesmo site da Phoronix / artigos relacionados para os mais novos. O fato de que agora é uma pergunta mais antiga é exatamente por que eu coloquei uma ressalva sobre os benchmarks 'atuais' lá.
Belacqua
O seu diretório pessoal é controlado pelo NIS? Recentemente, encontrei Unity muito ruim, mas apenas para o meu login no NIS, cujo diretório pessoal está em um compartilhamento de rede. Para um usuário local, o desempenho parecia melhor.
Stephen Quan

Respostas:

41

A resposta depende fortemente de três fatores principais que contribuem para a sensação de "lento" ou, melhor ainda, menos FPS:

  • Versão do Ubuntu (Atualizado, não apenas à esquerda como era quando foi lançado)
  • Placa de vídeo (Ati, Intel, Nvidia)
  • Versão do driver (proprietário, código aberto, versão atual)

Vou explicar cada ponto:

Versão do Ubuntu

Para a versão do Ubuntu, sabe-se que o uso do 11.10 com Unity será uma droga. Literalmente, faça com que o PC seja péssimo ao abrir o Gedit ou o Nautilus na maioria dos casos. Tentar jogar um jogo no OpenGL ou no Wine com DirectX ou OpenGL resultará em menos FPS do que o normal, mesmo em comparação com qualquer outro DE. Isso muda drasticamente no 12.04 e depois novamente no 12.10, onde a contagem de FPS começa a subir.

Como o mais recente é o 12.10, devo mencionar que, para alguns, o uso do 12.10 sem atualizações não resolve vários problemas importantes que foram corrigidos no Compiz e no Unity cerca de um mês após o lançamento. Portanto, qualquer usuário 12.10 precisa fazer upgrade para receber esses benefícios. Isso ocorre porque as duas partes mais importantes mencionadas quando o desempenho do FPS e do OpenGL vêm à mente são o Unity e o Compiz (o Compiz é o mais importante quando se trata de um impacto no desempenho).

Os benefícios e aprimoramentos que o projeto Compiz está obtendo ao longo da Série 0.9.8 e a Série 0.9.9 e o Unity na Série 7.x são realmente impressionantes.

Testes no Phoronix e em alguns dos meus mostraram que, para placas Nvidia (os únicos testes que eu realmente poderia fazer foram com placas Nvidia), o desempenho aumentou. E não apenas 3 ou 4 FPS, mas cerca de 20 a 70 FPS, dependendo da placa de vídeo e do driver.

Isso é importante, pois, dependendo da versão do Ubuntu que o usuário estiver usando, também dependerá da versão do Compiz e do Unity disponível para ele e do custo de desempenho que o acompanha.

Como o Unity precisa do Compiz, essa será a maior causa de baixa contagem de FPS, mas não tanto quanto antes, ou pelo menos duas versões atrás. A execução do utilitário Benchmark do Compiz enquanto jogava videogames no Wine ou Open Source me proporcionou um FPS muito bom na 12.10 e ainda mais enquanto testo o 13.04 com a mais recente série 313.xx da Nvidia.

Deve-se notar que o desempenho do vídeo é um dos pontos que serão tratados na 13.04 (e em grande parte nas 12.10 e 12.04) por causa de um compromisso que o Ubuntu tem para seus usuários e o Steam (Valve). Não apenas o Ubuntu e a Valve estão trabalhando nisso, mas a Nvidia e a Intel também se uniram a muitas atualizações que aumentaram a contagem de FPS várias vezes. Se você estiver seguindo as melhorias que estão chegando no Kernel 3.7 e 3.8, verá algumas delas.

Placa de vídeo e versão do driver

Sabe-se que, em termos de desempenho, a Nvidia está no topo, seguida pela Intel e Ati (isso não deve ser confundido com a facilidade de uso, pois a Intel é muito melhor nisso). Os drivers mais recentes da Nvidia (por exemplo , 306.64 , 310.19 e 313.09 ) trouxeram melhorias de desempenho do OpenGL especificamente para o Unity. Especialmente o 313.09, que é usado para melhorar ainda mais o Compiz .

Agora, a Nvidia não está apenas trabalhando muito para melhorar o caminho para o Compiz / Unity. A Intel também está trabalhando arduamente (muito arduamente) em vários recursos importantes do Mesa, o que deve melhorar o desempenho em geral para todas as placas de vídeo Intel, especialmente as séries 965, 2000 HD, 3000 HD e 4000 HD. Por fim, a Ati / AMD também já fez várias atualizações que corrigem muitos bugs e problemas do Compiz.

Portanto, em geral, ter o driver mais recente para cada um melhorará o desempenho, mas ter uma placa Nvidia melhorará ainda mais, seguido pela Intel e pela Ati.

Depois de ler tudo isso, quais alterações estão sendo feitas para melhorar o desempenho em geral, bem, aqui estão algumas:

  • A Nvidia está trabalhando desde várias versões atrás para melhorar o desempenho do Unity com mais de 50% de melhoria em geral em relação às versões mais antigas

  • Intel está trabalhando com o Mesa para melhorar o desempenho do Unity

  • Ubuntu e Valve estão trabalhando para melhorar o desempenho do Compiz e do Unity

  • Como visto no Launchpad, existem vários consertos feitos no Compiz para melhorar a capacidade de resposta e o desempenho em geral (incluindo memória e uso da CPU)

  • Como visto no Launchpad, o Unity recebeu muitas correções em relação à maioria dos problemas encontrados pelos usuários finais

  • O Compiz reduziu em mais de 50% a quantidade de memória usada há um ano.

  • A unidade parece mais rápida e mais leve em comparação com a versão usada um ano atrás.

  • Há algum trabalho realizado por Sams Spilsbury para o mais recente Compiz e Unity que abordará alguns problemas comuns conhecidos com o Unity.

  • As versões 3.7 e 3.8 do kernel trarão melhorias de vídeo em geral

Então, como você pode ver, há muito trabalho sendo feito para melhorar o Unity e o Compiz. Para ser justo, comparar o Unity com o Xfce ou o Lxde não é justo. É como comparar uma bicicleta a um carro. Ambos podem fazer algumas coisas melhor. O Compiz oferece, por exemplo, alguns efeitos muito interessantes que o Xfce ou o Lxde não fazem e, embora a maioria de nós não os use, eles são uma opção (como o isqueiro no interior do carro).

O mesmo vale para comparar o KDE, o Gnome3 e qualquer outro DE com o DE de ponta baixa. Eles são low-end por uma razão. Eles tendem a evitar grandes mudanças que afetam o desempenho, enquanto o DE de ponta tenta adicionar recursos que podem consumir mais recursos no início. Por exemplo, ter widgets, a capacidade de girar uma janela o máximo possível, ter um efeito de desfoque que oculta o fundo ou ter um fundo animado. Existem opções que alguns usuários apreciam e são oferecidas por alguns desktops que outros DE não precisam ou usam, pois são mais orientadas para um sistema de baixo custo.

Com isso em mente, qualquer pessoa que tenha testado o KDE desde o lançamento da versão 4.0 sabe quais grandes melhorias ele recebeu até a versão 4.9 mais recente. Enormes mesmo. Qualquer pessoa que tenha testado o Gnome 3.0 até a versão 3.8 mais recente sabe das enormes mudanças no desempenho que recebeu e qualquer pessoa que tenha testado o Unity do 3.x ao 6.x (e em breve 7.x) saberá como o o desempenho aumentou. Eu sinto falta do gnome2, por exemplo, mas há vários casos em que não posso usar o gnome2, pois o Unity é muito mais amigável e rápido em me ajudar a alcançar alguns desses casos.

Então, que dicas eu poderia dar para melhorar o desempenho?

Bem, instale o Compiz Config Settings Manager (ccsm)

e brinque com o plugin OpenGL:

insira a descrição da imagem aqui

Algumas dessas opções melhoram o desempenho, outras são necessárias para evitar problemas de vídeo. Se alguém encontrar a pergunta sobre isso, ficarei feliz em editar essa resposta para incluir um link para ela aqui. Não consigo encontrá-lo agora, mas sei que houve uma resposta que falou sobre isso.

Outro está atualizando os drivers e, se possível, usando a Nvidia. Fora isso, esperar 13.04 valerá a pena.

Para algumas análises, aqui estão os benchmarks do Phoronix que verificam o desempenho do Unity em 11.04, 12.04, 13.04 e 13.10:

Desktop Benchmark 11.04

Desktop Benchmark 12.04

Desktop Benchmark 13.04

Benchmark de desktop 13.10

E foi o que aconteceu com a Nvidia nos últimos meses

Também alguns artigos sobre a Ati / AMD AQUI , AQUI , AQUI e AQUI

Por fim, Intel, Mesa e Opengl HERE , HERE e HERE

Luis Alvarado
fonte
11
Prazer em ajudar @BullfrogBlues ^^. Eu sempre recomendo experimentar todos os sabores do Ubuntu, assim você aprende cada Desktop e como eles foram pensados.
Luis Alvarado
Voltando à unidade em 13.04 do gnome 3 em 12.04, posso dizer que a unidade agora é mais rápida. Além disso, gnome-shellestá cheio de bugs, maximizando a CPU, mesmo quando ocioso. Minha única queixa com o Unity é a barra de ícones.
user117