2012-03-21 2 views
6

Notre application Direct3D9 fonctionne parfaitement si nous démarrons complètement Windows, puis le lancer. Cependant, si nous modifions le processus de démarrage de Windows pour qu'Explorer ne soit pas exécuté, et que Windows et notre application soient démarrés, notre application ralentit terriblement. La consommation du processeur atteint 50%, même en mode inactif (normalement, il est proche de 0). Cela peut être résolu en démarrant le Gestionnaire des tâches, en démarrant l'Explorateur et en redémarrant notre application. Mais ce n'est pas acceptable. notre application doit fonctionner sans Explorer.Direct3D application fonctionne bien si l'Explorateur Windows est en cours d'exécution, ralentit terriblement sinon

Cela pourrait-il être une chose Direct3D? Notre application est en plein écran, la version Windows est XP SP3 avec toutes les dernières mises à jour, et la version Direct3D est 9.0.c. Si ce n'est pas lié à Direct3D, comment pourrais-je déboguer cela?

+0

wow. Je ne savais pas que ça arriverait. suivra cette question. – mauris

+3

Pourquoi diable voudriez-vous lancer l'application sans l'explorateur de toute façon? Même dans un kiosque, si vous voulez plein écran, alors écrivez une application en plein écran. Ne tuez pas la coquille! –

+6

Pour l'enregistrement, il semble que vous dépendiez de certaines applications (généralement un pilote graphique) qui attend un hook de l'explorateur. (tel que le menu de clic droit de graphiques certains fournisseurs attachent au menu de clic droit de bureau) aucun explorateur == qui ne charge pas, et le conducteur graphique étouffe. Peut être. Mais j'en doute vraiment. Comment allez-vous "peaufiner" le processus de démarrage exactement? –

Répondre

11

Résolu. Je suis allé à Control Panel->UserAccounts->Change the way users log on or off et j'ai vu que "Utiliser l'écran d'accueil" était cochée.

Décochez la case qui l'a résolu. Il semble que lorsque l'écran de bienvenue est actif, puisqu'il utilise une résolution différente de celle du bureau, des conflits s'ensuivent. Et je n'ai pas vérifié, mais il semble que l'accélération matérielle ait été temporairement indisponible et que le rendu logiciel ait été sélectionné, tuant le CPU.

+1

Bonne prise. Et merci d'avoir posté la solution pour les futurs chercheurs. – BoBTFish

Questions connexes