Question

Sous Windows XP, le véritable contenu 3D WPF (qui est généralement affiché à l'aide du contrôle Viewport3D) semble extrêmement laid car il n'est pas anticrénelé par défaut comme le reste des graphiques WPF.Surtout à basse résolution, l'expérience est si mauvaise qu'elle ne peut pas être utilisée dans le code de production.

J'ai réussi à forcer l'antialiasing sur certaines cartes graphiques Nvidia en utilisant les paramètres du pilote.Malheureusement, cela produit parfois des artefacts laids et ne fonctionne qu'avec des cartes et des versions de pilotes spécifiques.Le mot officiel de Microsoft à cet égard est que l'anticrénelage 3D n'est généralement pas pris en charge sous Windows XP et l'artefact que je vois résulte du fait que WPF effectue déjà son propre anticrénelage (sur XP uniquement pour la 2D).

Je me demandais donc s'il existait peut-être une autre astuce secrète qui me permettrait de forcer l'anticrénelage sur le contenu WPF 3D sous Windows XP.

Était-ce utile?

La solution

Avez-vous essayé ceci (à partir de votre fil de discussion sur les forums MSDN) ?

Eh bien, il semble que la référence dans le lien MSDN ci-dessus spécifie de manière incorrecte la clé racine du registre concernée.Dans MSDN, il est spécifié comme HKEY_CURRENT_USER, tandis que la clé racine correcte doit être HKEY_LOCAL_MACHINE.J'ai essayé de configurer HKEY_LOCAL_MACHINE\Software\Microsoft\Avalon.Graphics\MaxMultiplesampleType sur « 4 » et je peux obtenir un anticrénelage pour mon application WPF sur XP.

Autres conseils

Le sentiment que je ressens du film de Matthew MacDonald Fondation de présentation Pro WPF Windows dans .NET 3.0 c'est que ce n'est pas possible :

Il existe une exception à la prise en charge logicielle de WPF.En raison d'une mauvaise prise en charge des pilotes, WPF n'effectue l'anticrénelage pour les dessins 3D que si vous exécutez votre application sur Windows Vista (et que vous disposez d'un pilote Windows Vista natif pour votre carte vidéo).

Je n'ai jamais rien vu suggérant que vous puissiez activer AA dans WPF 3D sur autre chose que Vista, mais s'il existe un moyen, c'est nouveau pour moi et j'aimerais le savoir aussi !

Votre carte vidéo prend-elle en charge Shader 2.0 ?Vous pouvez vous référer vers cette page wiki pour voir si c'est le cas...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top