2010-08-20 4 views
2

J'ai une application WPF qui fonctionne comme un service et rend des éléments graphiques 2D pour prendre des photos de jpg. Tout cela se passe sans aucune fenêtre ou contrôle visible.rendu WPF sans carte graphique

L'application fonctionne généralement sur des serveurs avec des adaptateurs vidéo très merdique: ce que cela a un impact négatif sur la performance de l'application?

Est-il possible que je peux dire WPF/.NET d'ignorer l'adaptateur vidéo pour le rendu afin que je puisse faire des essais de comparaison directe sur la même machine?

+0

Est-ce WPF pour le Web ou WPF pour l'application client? – ChrisBD

+0

C'est une application client "complète" WPF, fonctionnant comme un service Windows. Après une enquête plus approfondie, j'ai remarqué que lors de l'exécution en tant que service, je reçois toujours Rendering Tier 0. Si l'application fonctionne en tant qu'application Windows "normale" (avec une fenêtre visible), j'obtiens le rendu de niveau 3. légèrement différent, car il semble que la façon dont il est l'adaptateur vidéo n'est jamais utilisé pour quoi que ce soit. Existe-t-il un moyen de l'utiliser? –

Répondre

2

Je trouve la réponse. Pour référence future:

isolement session0 empêche d'utiliser les services de l'accélération matérielle (en WPF, mais aussi dans tout le reste) à partir de Windows Vista/2008. Si vous utilisez XP ou 2003, les services peuvent s'exécuter dans une session interactive qui charge les pilotes vidéo: si vous cochez l'option "autoriser le service à interagir avec le bureau", l'accélération matérielle est utilisée. (vous obtenez le rendu de niveau 2 à condition que votre matériel le supporte), sinon vous obtenez le rendu de niveau 0 (logiciel uniquement).

S'il vous plaît méfiez-vous que si vous vous connectez avec bureau à distance et démarrer le service, le service utilisera cette session (qui n'est pas accélérée) et se déroulera dans le rendu de niveau 0.

(évidemment cela signifie que dans Vista/7/2008 et plus tard, vous pouvez exécuter le service avec un adaptateur vidéo merdique sans conséquence)