Como o meu cursor fica mais branco do que o branco?

19

Recentemente, notei que meu cursor estava mais branco do que o branco de fundo (0xFFFFFF puro). Eu originalmente pensei que era uma ilusão de ótica, já que tirar screenshots mostrava que tanto o fundo quanto o cursor estavam em 0xFFFFFF. Então tirei uma foto do cursor e mostra claramente uma diferença no brilho:

Eucoloqueiumfiltrodemosaiconaimagemparavermelhorobrilhomédio:

O interior da seta é de cerca de 191 cinza (0xBF) e o fundo é de aproximadamente 177 cinza (0xB1), o que significa que o branco do cursor é cerca de 8% mais brilhante que o branco puro do plano de fundo.

Qual hardware está fazendo isso e como? A informação de cor está sendo transmitida com mais de 8 bits por canal?

O computador é o Windows XP com uma placa gráfica NVIDEA GeForce 8500 GT conectada a uma TV Samsung 5100 através de um cabo HDMI.

Outra foto:

Umcursordehardware,umacapturadeteladocursordehardwareeumquadradode16x16decadavalordeescaladecinzade0a0xFFemblocosde2x2.

O mesmo que a imagem anterior, mas com um filtro de mosaico aplicado. Deve ser óbvio qual é o cursor real e qual é a captura de tela do cursor na foto. O brilho desta vez é 185 e 170, ainda cerca de 8% de diferença. Usando um seletor de cores, a cor que é 170 na foto é 0xFFFFFF na tela. Não consigo usar o seletor de cores no próprio cursor porque ele faz a amostragem da cor diretamente sob o cursor.

    
por CJ Dennis 05.05.2015 / 08:00

2 respostas

9

Como mencionado na resposta da Psychogeek, este é um problema com uma configuração de perfil de cor pelo sistema operacional.

Os perfis de cores podem ser aplicados pelo aplicativo, pelo sistema operacional, pela placa de vídeo e pelo hardware de exibição.

Para perfis de cores do sistema operacional no Windows, quando enviado para a placa de vídeo, o perfil de cores é aplicado de maneira diferente ao cursor do que à imagem da tela, o que pode resultar em cores diferentes se o perfil de cores alterar o ponto branco. No seu caso, o cursor é enviado como branco verdadeiro, enquanto a imagem abaixo tem um perfil de cor aplicado, alterando o ponto branco para um nível inferior.

O cursor é enviado para a placa de vídeo separadamente do resto dos dados de exibição e é misturado pela placa de vídeo em um estágio posterior durante a renderização, antes de ser enviado para a exibição.

Em um nível simplificado:

[Cursor Draw]   --   --   --   --   --   --   --
                                               ˅
[Windowing] --> [OS Profile] --> [Video Driver] --> [Video Card] --> [Hardware Profile] --> ...

Uma captura de tela não aplica o perfil de cores do sistema operacional aos dados de "disparo", pois é capturado no estágio de janela. Geralmente, a captura da captura de tela não mostrará o cursor, porque ele captura mesmo antes do perfil do SO ser aplicado. No entanto, certas ferramentas (que eu suponho que você usou) para capturar a tela irão misturar o cursor sobre a imagem da mesma maneira que a placa de vídeo. Como os níveis de branco do cursor e do fundo são ambos 100%, a captura de tela tem o mesmo nível de branco para ambos.

O comportamento normal que você está vendo pode ser corrigido usando um monitor ou placa de vídeo com uma LUT de hardware para calibração de cores, ou forçando a extração do cursor a ocorrer em um ponto de renderização diferente, veja este Photo.SE question . Você também pode editar a imagem do cursor e alterar o nível de branco se isso o incomodar. No entanto, acho que isso torna o cursor mais perceptível na tela.

    
por 06.05.2015 / 09:58
1

Esta resposta começa com uma análise de por que as coisas não são 1: 1 com o digital e termina com possíveis maneiras de mudar as coisas com base na sua pergunta real.

  • Grave uma foto com sua câmera, todos os dados do sensor são processados.
  • Então é comprimido até a morte.
  • Em seguida, ele se move 1: 1 para o seu computador.
  • Onde é exibido sendo ajustado por qualquer perfil de cores do sistema operacional.
  • Onde é digitalmente desenhado em uma placa de vídeo que não só pode ser ajustada pelo usuário, mas também pode ter alguns truques de cores.
  • Enviado para o monitor 1: 1.
  • Onde pode ser completamente atacado no processamento, antes de chegar a um painel de exibição.
  • O próprio painel de exibição não consegue renderizar todos os aspectos dele.
  • A variável de cores de retroiluminação por porcentagens enormes com base no espectro de cores que a luz de fundo emite.

Nesse caso, o cursor é (provavelmente) um item renderizado por hardware que é sobreposto no hardware das placas de vídeo. A primeira coisa a investigar ou tentar ajustar para alterá-lo é o perfil do monitor e / ou o OS aplicado aos perfis de cores. Perfis de cores são encontrados no Painel de controle, Todos os itens do painel de controle, Gerenciamento de cores, onde você encontrará perfis de cores que mudam de cor antes de chegar ao monitor em si.  Os perfis podem ser desativados, assim você pode observar o efeito que tem.

Ajustes no software da placa de vídeo. A área de trabalho, o 3D e o material de desenho direto de vídeo é tudo controlável, mesmo que essas coisas não tenham sido ajustadas no software da placa de vídeo, pode ser que, tendo tudo configurado para 0 0 0, ainda exista algum processamento. Você poderia tentar usá-lo para combinar com a sobreposição de cursor, se houvesse algum motivo real para se preocupar com isso.

A placa de vídeo está sobrepondo o cursor renderizado por hardware e não está usando os mesmos parâmetros para isso como o restante do plano de fundo, e é assim que ele está funcionando.

- baseado na imagem de controle, nenhum dos outros se aplica a essa questão específica -

Outra possibilidade são as configurações do monitor, embora isso seja menos provável. Contraste automático, itens de cores automáticas em monitores e TVs podem equilibrar grandes áreas claras ou escuras e geralmente causam alterações indesejáveis. Os ajustes automáticos de cor e nivelamento nos monitores nem sempre são ajustáveis e usam muitos nomes diferentes para as ações que eles fazem.

Perfis em monitores como jogo, filme, área de trabalho ou qualquer nome usado para perfis que definem configurações específicas de cor, contraste e brilho que considerem úteis para o perfil selecionado, e novamente podem ser alterações indesejáveis, mesmo para as seleções de perfil adequadas.

Algoritmos de nitidez na câmera, provavelmente não na placa de vídeo, mas novamente no monitor podem criar uma matriz de destaque ao redor das áreas, aumentando os contrastes originais ou (é claro) reduzindo-os. Nesta questão, é menos provável que o branco se expanda além dos pixels a que uma matriz de nitidez se aplicaria, a menos que fosse um processamento diferente.

A lista fica ainda maior quando o software não é realmente necessário para ter fundos brancos austeros, eles podem ser ajustados. O SO e os programas podem ter um plano de fundo que não é branco, mas você já sabe que não é assim, nesta pergunta, se você fez uma escolha de cores do plano de fundo, na área de trabalho ou programa original.

A seleção de cores na área de trabalho mostra a cor dos pixels (ou pixels) existentes, fornecendo ao usuário os fatos sobre o que o programa está exibindo. A foto colorida vem antes que qualquer perfil de cor ajuste a saída. Por isso, a escolha de cores é uma ótima maneira de descobrir a cor real. Em seguida, ele ainda passa pelo processamento novamente.

Existem programas que fazem uma captura de tela com o cursor sobreposto. de que uma pessoa poderia fazer uma escolha de cores, mas novamente o cursor pode ser desenhado usando um método diferente e processado da mesma maneira que o resto dele. Portanto, embora seja possível fazer uma captura digital de software da tela e incluir o cursor, isso pode mudar o que realmente é visto aqui.

    
por 06.05.2015 / 01:38

Tags