Pergunta

No Windows XP, o conteúdo 3D verdadeiro do WPF (que geralmente é exibido usando o controle Viewport3D) parece extremamente feio porque, por padrão, não é suavizado como o restante dos gráficos do WPF.Especialmente em resoluções mais baixas, a experiência é tão ruim que não pode ser usada no código de produção.

Consegui forçar o antialiasing em algumas placas gráficas Nvidia usando as configurações do driver.Infelizmente, isso às vezes produz artefatos feios e só funciona com placas e versões de driver específicas.A palavra oficial da Microsoft a esse respeito é que o antialiasing 3D geralmente não é suportado no Windows XP e o artefato que vejo resulta do fato de que o WPF já faz seu próprio antialiasing (no XP apenas para 2D).

Então, eu queria saber se talvez exista algum outro truque secreto que me permita forçar o antialiasing no conteúdo 3D do WPF no Windows XP.

Foi útil?

Solução

Você já tentou isso (do seu tópico nos fóruns do MSDN)?

Bem, parece que a referência no link do MSDN acima especifica incorretamente a chave raiz do registro afetada.No MSDN é especificado como HKEY_CURRENT_USER, enquanto a chave raiz correta deve ser HKEY_LOCAL_MACHINE.Tentei configurar HKEY_LOCAL_MACHINE\Software\Microsoft\Avalon.Graphics\MaxMultiplesampleType como '4' e consigo antialiasing para meu aplicativo WPF no XP.

Outras dicas

A sensação que tenho de Matthew MacDonald's Pro WPF Windows Presentation Foundation em .NET 3.0 é que não é possível:

Há uma exceção ao suporte de software do WPF.Devido ao baixo suporte de driver, o WPF só executa antialiasing para desenhos 3D se você estiver executando seu aplicativo no Windows Vista (e tiver um driver nativo do Windows Vista para sua placa de vídeo).

Nunca vi nada que sugerisse que você pudesse ativar o AA no WPF 3D em qualquer coisa que não fosse o Vista, mas se houver uma maneira, é nova para mim e eu adoraria saber também!

Sua placa de vídeo suporta Shader 2.0?Você pode consultar para esta página wiki para ver se dá certo...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top