domingo, 10 de outubro de 2021

Impressões sobre o Windows 11

 Estou usando o Windows 11 desde o primeiro dia no canal dev, depois passando para o beta e em seguida o Preview. Agora, após o lançamento da versão final e de alguns meses de experiência, faço alguns comentários sobre o que achei da nova versão sem o impacto emocional da novidade. E a avaliação é ruim, em grande parte por causa da interface de usuário. Mas vou continuar usando o Windows 11, pelo menos no meu único PC que permite o upgrade, pelas razões a seguir.

domingo, 30 de maio de 2021

[Tendências] Crise das GPUs: mais um prego no caixão do desktop montado?

Não é a primeira vez que eu toco neste tópico do fim dos desktops montados. Alguém até poderia achar, equivocadamente, que torço por isso. Na realidade, filosoficamente, não "torço" por nada, nem para o bem nem para o mal. É o estoicismo. Além disso,  muito ao contrário, eu amo os PCs montados e gostaria que eles perdurassem para sempre. Venho montando PCs para uso pessoal desde 1987 (PC XT), não há outro item de consumo que me interesse da mesma forma que partes de PC. E justamente por isso que acompanho de perto os movimentos deste mercado.

Não são boas notícias, mas acho que a análise é interessante para quem não gosta de ser pego de surpresa.

domingo, 25 de abril de 2021

O uso de drivers DCH da nVidia impacta na performance? Fiz os testes

 Até ontem (literalmente) eu não tinha sequer ouvido falar em "driver DCH". E como eu acompanho o setor de hardware para PCs e placas de vídeo diariamente há décadas, me pergunto quantos nesse meio conhecem. E fiquei sabendo por acaso, poderia passar a vida sem saber. O tipo de driver instalado,  DCH ou não, é praticamente transparente para o usuário comum, e muito provavelmente vai ser o DCH. Este artigo é uma curiosidade técnica, que deve interessar mais aos entusiastas. 

Fiquei sabendo deste tipo de driver por acaso. Estava instalando o Nicehash miner também apenas por curiosidade, para conhecer e me divertir, e recebi a mensagem do aplicativo que o driver DCH tinha sido detectado e era preferível usar o driver Standard. E digo que o motivo de experimentar o Nicehash era apenas brincadeira, para conhecer e aprender na prática as diferenças de minerar direto na pool (que é o que eu normalmente faço), para reforçar o quanto improvável foi ter esbarrado nesse termo DCH. A placa de vídeo usada é uma nVidia GTX 1080, e o que descrevo a seguir se refere a drivers nVidia, mas pelo que entendi o mesmo pode ocorrer de forma análoga com AMD.

Antes de mais nada, o que são drivers DCH? Não vai ser objetivo deste artigo se aprofundar nisso, mas apenas para deixar as referências, é um padrão criado pela Microsoft a partir de determinada build do Windows 10 e requer compatibilidade com a Universal Windows Platform (UWP). DCH vem de "Declarative Componentized Hardware", o driver de hardware deve ser declarativo e "componentizado" (mas aparentemente não existe esta última palavra em português... então leia-se "em componentes"). Mais detalhes sobre o assunto na documentação da Microsoft e da Dell. O que eu acho importante ter em mente disso tudo que a MS, fabricantes e integradores estão reforçando este padrão.

E de fato, isso explica porque não tinha conhecimento dele. Os drivers não-DCH da nVidia já estão bem escondidos. Normalmente não nos deparamos com esta opção de DCH ou Standard. Se instalamos o Windows 10 do zero e ligamos na Internet, normalmente o próprio Windows já instala algum driver da placa de vídeo, e vai ser o DCH, que é o padrão que eles estão querendo reforçar. Não confundir com o "Standard" (padrão) da nomenclatura da nVidia. E por outro lado, se vamos no site da nVidia e navegamos para buscar os últimos drivers para instalar, caímos em uma página em que nem existe a opção não-DCH (Standard).

Mas ela (ainda) existe. Seguindo os tutoriais da Nicehash é indicado um link direto para o site da nVidia, cuja página tem o título "Advanced Driver Search", e que reproduzo em parte na imagem abaixo. Note o combo box com o título "Windows Driver Type" e o valor "Standard", que também pode ser "DCH". E assim que se baixa o driver não-DCH, ou Standard. Nesta ocasião também aprendi sobre a existência de outro tipo de driver, o "Studio", em contraposição ao "Game Ready". Ele não aparece para selecionar na busca, mas na lista de resultado aparecerão drivers desses dois tipos. Não é exatamente o tópico deste artigo, mas apenas para não ficar no ar, os drivers Studio são mais voltados para criadores de conteúdo e tentam ser mais estáveis neste cenário de uso, enquanto que os Game Ready recebem melhorias mais frequentes para alcançar performance conforme novos títulos de jogos vão sendo lançados. Mas existem drivers Standard e DCH tanto dos tipos Game Ready quanto Studio, ou seja, todas as combinações.




Para saber qual tipo de driver está instalado no momento no seu PC com placa de vídeo nVidia, basta abrir o painel nVidia e clicar no link  "Informações sobre o Sistema", embaixo da barra lateral esquerda. Aparece uma janela como esta abaixo, onde vemos na lista "Detalhes", na segunda linha, que o PC no momento está com o driver Standard. Isso depois que eu fiz o procedimento a descrito a seguir para mudar, pois os dois PCs que tenho estavam inicialmente com drivers DCH.





Baixei o driver Standard  primeiro naquele PC em que instalei o app da Nicehash e a mensagem de alerta sumiu. O processo de instalação é trabalhoso, porque requer desinstalar todo o software nVidia existente. Para isso recomenda-se desligar da Internet (se for cabo Ethernet, desconectando o cabo ou desativando a conexão no painel de controle, se for Wifi basta ir no ícone da conexão na barra de tarefas) justamente para evitar o Windows de já baixar o driver DCH automaticamente nesse meio tempo, como vimos antes. É necessário reiniciar o Windows algumas vezes até completar o desinstalação. Parece que existe um aplicativo de desinstalação de drivers no site guru3D (o DDU), mas eu nunca usei e normalmente não preciso desinstalar tudo (a minha prática normal é atualizar por cima pelo nVidia Experience) achei melhor não instalar mais nada no PC. Na realidade me revoltei e desta vez não instalei o Experience também, que requer login e a única coisa dele que eu uso é justamente a atualização de driver. Não é necessário desinstalar o Painel nVidia.

Mas a dúvida que fiquei logo em seguida foi a do título deste artigo. Será que o driver DCH impacta positivamente ou negativamente de alguma forma na performance? Em nome da ciência me dispus a repetir o processo enfadonho descrito acima em outro PC, mas rodando o 3DMark antes e depois. 

Inicialmente rodei o benchmark Time Spy com o driver original DCH, fechando antes todas as demais aplicações, menos o Steam, que é necessário para o 3DMark. Em seguida refiz o processo de desinstalação manual e reinstalei o driver Standard, também sem o Experience, e na mesma versão do DCH (466.11). Os resultados podem ser vistos abaixo:

Teste: Time Spy
Configuração do PC: Ryzen 7 3700X, 32 GB RAM @ 3200, nVidia GTX 1080
                                
Driver DCH           Geral: 7.616        GPU: 7.402
                                         CPU: 9.109

Driver Standard      Geral: 7.651        GPU: 7.442
                                         CPU: 9.277 

Em tempo, naquele primeiro PC da mineração também nào observei mudança no hash rate antes e depois da troca do driver. A restrição da Nicehash quanto ao DCH provavelmente é apenas referente à incompatibilidades.

Eu confesso que gostaria de achar uma diferença significativa, apesar de racionalmente já poder prever que isso não iria fazer sentido. A nVidia não iria penalizar a performance do driver "game ready" mesmo sendo DCH. O fato é que a diferença é insignificante e pode ser considerada dentro de uma margem de erro. Eu poderia ter rodado mais vezes para tirar média nos dois casos, mas só lembrei disso depois e acho que seria um esforço metodológico desnecessário para esta situação. Outro teste interessante seria comparar os driver Studio com o Game Ready. Mas para esta comparação talvez mostrar alguma diferença deveriam ser feitas baterias de testes em jogos AAA recentes, o que para mim é inviável, mas fica a dica para quem quiser tentar.

Concluindo, nada se perde em performance por usar o driver Standard (o que é uma boa noticia para quem minera no PC gamer com o Nicehash nas horas de inatividade), mas também nada se ganha e não vale a pena trocar o driver DCH a não ser em situações bem específicas como essa do minerador. E alguém pode ter notado o "ainda" entre parêntesis alguns parágrafos acima, que foi uma ironia. Ao que me parece o driver Standard só está disponível por compatibilidade, mas a tendência é isso desaparecer assim que versões mais antigas do Windows saiam do ciclo de vida.


 



terça-feira, 9 de fevereiro de 2021

Quais os requisitos essenciais em um smartphone intermediário?

Quais os requisitos que não podem faltar em um smartphone para ter uma boa experiência de uso? Porque mirar em um smartphone intermediário em geral é a melhor opção? 9 pontos a serem considerados na compra do seu próximo telefone.

sábado, 27 de junho de 2020

Apple abandona a Intel

A notícia estourou esta semana, a Apple vai deixar de usar os processadores Intel nos seus processadores, em favor de chips projetados internamente, baseados em arquitetura ARM. Não é totalmente uma surpresa, uma vez que ela já projeta os chips dos seus celulares e tablets, que estes chips são plenamente capazes de assumir mais carga de trabalho, que a Apple vem sabidamente enfrentando problemas com os chips Intel em termos de aquecimento, com o consequente throtling, e por fim, que os rumores sobre isso já circulam faz tempo. Então não é propriamente motivo de surpresa. Assim como não seria se a Microsoft decidisse fazer o mesmo na linha Surface, pois existem não apenas rumores sobre isso faz tempo, mas tentativas concretas, como no Windows RT. Mas agora que a Apple realmenet anunciou oficialmente, e que é um fato concreto, isto dá oportunidade para uma série de considerações interessantes.

domingo, 14 de junho de 2020

O modo (correto) de resolver os conflitos de relógio no dual boot Ubuntu/Windows

São problermas recorrentes que eu enfrento quando configuro um PC para dual boot, e como acontecem com intervalos muito grandes, um dois anos, acabo esquecendo... Um é decorrente do UEFI secure boot, que já documentei aqui no blog, e o outro, mais trivial mas também chato, é o do relógio.

O usuário logo vai perceber, depois instalar o dual boot e de alguns boots nos dois sistemas, que o relógio está errado. Logo vai imaginar a causa: os dois sistemas interpretam o relogio "da BIOS" (o termo tecnicamente mais correto é o RTC da placa mãe, real time clock, mas coloquei assim para facilitar a referência). O Windows interpreta o valor que está no RTC como o horário local, já considerando o fuso horário. Para o Brasil é o time zone -3. Já o Ubuntu (testei recentemente no 20.04 LTS) interpreta por default como o horário UTC, a time zone 0, e depois faz a conta para mostar na tela. Por default também os sistemas atualizam automaticamente o relógio, e por isso ele vai mudando de um para o outro.

Nesse ponto minha primeira reação foi desabilitar a atualização automática. Mas basta pensar um pouco para notar que não vai adiantar, não existe um valor fixo que atenda aos dois sistemas. Mesmo que você se conformasse em ficar vendo horário errado, existem outros problemas nisso (sem spoilers, vou explicar a seguir).

Aí me veio a idéia de "fraudar" a time zone no Linux, dizendo que eu estava na time zone 0 (por exemplo, Reikjavik, na Islândia), e o horário local no RTC ficaria o do Rio de Janeiro. Aparentemente funcionou, ambos passaram a mostrar exatamente o horário do RTC, e por alguns dias me senti o "espertão". Mas esta solução tem um problema grave, que só identifiquei depois.

Depois de alguns dias comecei a receber um erro da atualização do Ubuntu, e depois de mexer na configuração das atualizações, que o sistemas estava "up to date" por vários dias seguidos. Estranho. Mexi de novo nas atualizações e o erro voltou. O problema aqui foi relacionar relógio com atualizações. Tentei "apt-get update" no terminal, e veio uma mensagem mais específica. Pesquisando esse erro na Web, em 10 minutos vi que a causa era o relógio (e sem esse recurso de pesquisa, sabe-se lá quanto tempo levaria, me assusta como ficamos dependentes da Web).

A raiz do problema é que o sistema e o servidor de atualizações precisam confirmar os horários. E o horário do RTC estava errado, ou seja, no mundo real em Reykjavik não é o mesmo horário que no Rio. E como vimos o Ubuntu considera o RTC como sendo o valor do UTC, e não o que é mostrado na tela.  Ou seja, mexendo abritráriamente nos relógios e time zones não há como compatibilizar os dois sistemas para mostrar os valores corretos de relógio e ao mesmo tempo manter as atualizações (e esse foi só o primeiro efeito colateral).

Mas existe uma solução mais limpa. É possivel alterar como o Ubuntu lê o RTC, para que passe a considerar como o horário local. Na mesma pesquisa Web citada antes veio a solução:


timedatectl set-local-rtc 1

A solução foi encontrada neste tópico. Depois de testar vários boot e a atualizações, o problema parece resolvido. E vim aqui no blog para registrar, quem sabe da próxima vez que eu configure um dual boot eu lembre pelo menos de ler aqui...

Nota: eu citei no título e no artigo o Ubuntu e não o Linux em geral, poorque não sei neste momento como as outras distribuições estão se comportando quanto ao relógio. Mas caso tenha um problema parecido em outra distro, este pode ser o caminho.

quinta-feira, 21 de maio de 2020

Processadores AMD x Intel: porque não existem vencedores definitivos

A décima geração de processadores Core acaba de ser lançada, e já manifestei minha decepção em redes sociais. Não que toda a linha seja ruim. Se eu estivesse montando um PC neste momento, o que felizmente não estou, eu consideraria alguns modelos da faixa intermediária, um Core i5, por exemplo.  Mas de um modo geral, como entusiasta de tecnologia, é uma decepção. 14 nm, ainda? Basicamente a mesma tecnologia do meu Core i7 6700K? Sim, com alguns melhoramentos, mais  núcleos... mas é pouco. E o topo de linha, o i9 10900K, é uma aberração em excessos de consumo e dissipação térmica. Não encontro justificativa para optar por ele, o que não significa que não exista, mas não encontro, pelo menos para usuários típicos. O 10900K pode ser, dentro de certas circunstâncias, o melhor, mas a que preço? Em consumo de energia? Em custo total, não só dele, mas em todos os demais componentes de PC para mantê-lo frio e funcionando bem? Neste exato momento fica difícil defender a Intel, e parece que ela está perdida para sempre. Mas um pouco de perspectiva histórica mostra que não é a primeira vez, e nem provavelmente será a ultima. Veja alguns exemplos.

Lá em 2004/5 eu me propus a montar um PC bom. Geralmente eu sempre ia no custo-beneficio, mas desta vez resolvi "investir" em algo com performance alta, que desse satisfação. Mas não fiz um trabalho tão bom de pesquisa. Optei por um Pentium 4 de arquitetura "Prescott", o primeiro com o design LGA, o LGA 775, . Ele também tinha Hyper-Threading, um core, dois threads, meu primeiro processador multi-threaded. E o Pentium prometia alto clock. Em teoria, e pelo marketing, parecia tudo ótimo. Na pratica: aquecimento e throtling. E com as ferramentas disponíveis na época, simplesmente não consegui resolver o problema de aquecimento. Não lembro se já havia water cooling em 2004, mas não devia ser algo muito acessível, eu nem considerei uma opção. Coloquei o melhor cooler a ar que encontrei (ironicamente esse P4 vinha com cooler box!), um dos  melhores gabinetes do mercado na época para resfriamento, segundo reviews e minha própria experiência. Não pensava muito em cable management nesses tempos, mas ainda assim, creio que isso não foi um fator determinante. Eu lutei com o conhecimento e recursos que eu tinha, e não consegui evitar o throtling. Se não me engano, havia programa da própria Intel que permitia visualizar que estava ocorrendo. Enfim, depois de um tempo desisti. Fiquei com este PC relativamente muito pouco tempo, uns 6 meses, menos de um ano, e o vendi. A máquina funcionava, só que não da forma que eu imaginei quando comprei, não supriu minha expectativa.

Minha opinião naquele momento, após toda esta frustração e de me informar melhor, é que a Intel havia chegado a um beco sem saída evolucionário. Era o fim. A arquitetura deles estava saturada. E passei a comprar AMD. Um tempo depois a Intel tira a arquitetura Core da manga. Começou humilde, até chegar ao Skylake, que era rei em 2015/16, a sexta geração. A seguinte, a sétima, já mostrou sinais de desgaste. Foi nessa que a prática do delid ficou popular, porque o 7700K aquecia demais, e era preciso trocar a pasta térmica interna entre o heat spreader e o die. Ou se conformar com a performance limitada pelo aquecimento. Mas ainda era competitiva e dominava alguns segmentos de mercado. A  Intel continuou se apoiando em alguma vantagem de performance e sua reputação, mas já sabíamos há anos que mais uma vez sua arquitetura estava saturada. Deu pra perceber o ciclo? Levou mais ou menos uma década.

Mas vamos voltar um pouco. Como disse antes, depois do P4 Prescott passei a comprar AMD. Foram vários. Lá por 2012 mais ou menos eu adquiri um AMD FX 8350. Era naquele momento o topo de linha da AMD, pelo menos entre o que estava disponível no mercado. E na realidade, o topo de linha oficial, que foi o FX 9050, era meio bizarro, uma espécie de 8350 overclocado de fábrica, super quente. Que nisso até lembra esse i9 de décima geração, só que além disso também tinha performance limitada, ao contrário do i9. Mas em comum eles eram o fim da linha evolutiva. Os FX tinham vários problemas de projeto, e por isso ele envelheceu mal. Em 2012 quando comprei era aceitável, mas em 2015 era lixo. A compra desse FX não foi tão errada quando ao daquele Pentium 4 citado acima, tanto que ainda tenho ele funcionado até hoje. E não foi caro. Mas também não foi a melhor opção, tendo em vista qualidade e longevidade. Eu perdi o timing de pular da AMD para a Intel. E parecia o fim da AMD. Até que uns anos depois surge o Ryzen, no começo com alguns problemas (compatibilidade de memórias, IPC baixo, etc), mas promissor. Até chegar na terceira geração, os 3000, que são um sucesso quase unânime. O ciclo da AMD.

Tomando por estes dois exemplos extremos parece que só compro processador ruim, mas entre estas compras existe uma maioria de processadores ótimos, ou aceitáveis. Estes dois são apenas exemplos de finais de ciclos de liderança tecnológica de cada empresa. Monto PC desde 1987, comecei com um clone de PC-XT, com um clone de processador Intel 8088 fabricado pela... Nec  (é isso mesmo, o NEC V-20. Com botão turbo no gabinete pra chegar a... 10 MHz. Atenção, MEGA Hertz. O stock era 4,7 Mhz, se não me engano).  E assim que a AMD entrou no jogo, esse padrão descrito antes vai se repetindo por décadas, com a Intel e AMD se revezando na liderança do mercado x86, ou algum aspecto dele, uma nova tecnologia, ou mais performance. A Intel introduziu instruções MMX, a AMD introduziu 64 bits no mercado mainstream. Nada disso foi suficiente para uma vantagem definitiva. Olhe para o passado e vai identificar vários ciclos. Não tenho bola de cristal, não prevejo o futuro, mas nada indica que esses ciclos vão parar. Se em algum momento os ciclos parassem, com uma empresa fazendo sempre produtos inferiores, uma dominaria de vez e a outra sairia do mercado de processadores para PC.

A briga agora parece perdida para a Intel. Ela está se esforçando pra entregar 10 nm, enquanto que a AMD está em 7 nm e não pára de evoluir. A AMD fornece processador e chipset para as duas linhas principais de consoles, xBOX e PS4/5. A Apple ensaia abandonar os chips Intel no Mac de vez em favor de chip próprio baseado em ARM. O mercado mobile foi perdido para a ARM. O que a Intel pode fazer pra reverter essas perdas? Talvez nada, talvez desistam de PC. Ou talvez venha mais um ciclo, com a Intel entrando com alguma inovação que não esperamos. No cenário da Intel desistir do PC, que eu particularmente acho bem improvável, a AMD domina o mercado x86, e se acomoda. E nós consumidores teremos cada vez menos evolução, e preços cada vez maiores. Diante disso, é insano consumidores torcerem pela hegemonia de uma marca, por um vencedor definitivo. Precisamos das duas (ou mais) empresas para que a evolução, mesmo com seus altos e baixos, seus ciclos, para termos custo acessível e produtos melhores. E se um deles vencesse e dominasse o mercado, também ficaria exposto a processo por monopolio. Ou seja, no fundo uma precisa da outra, e nós PC builders precisamos das duas,