2012-03-21 15 views
6

Nasza aplikacja Direct3D9 działa doskonale, jeśli w pełni uruchomimy system Windows, a następnie uruchomimy go. Jeśli jednak dostosujemy proces uruchamiania systemu Windows tak, aby Explorer nie był uruchamiany, a tylko Windows i nasza aplikacja są uruchomione, nasza aplikacja spowalnia strasznie. Zużycie procesora spada do 50%, nawet gdy jest ono w stanie bezczynności (zwykle jest to blisko 0).Aplikacja Direct3D działa dobrze, jeśli Eksplorator Windows działa, spowalnia w inny sposób

Można to naprawić, uruchamiając Menedżera zadań, uruchamiając Eksploratora i ponownie uruchamiając naszą aplikację. Ale to nie do przyjęcia; nasza aplikacja musi działać bez Eksploratora.

Czy to może być rzecz Direct3D? Nasza aplikacja jest na pełnym ekranie, wersja Windows to XP SP3 z wszystkimi najnowszymi aktualizacjami, a wersja Direct3D to 9.0.c. Jeśli nie jest to związane z Direct3D, w jaki sposób mogę go debugować?

+0

wow. Nie wiedziałem, że to się stanie. będzie podążać za tym pytaniem. – mauris

+3

Dlaczego, na Boga, chcesz uruchomić aplikację bez Eksploratora? Nawet w kiosku, jeśli chcesz pełnoekranowy, to napisz aplikację na pełnym ekranie. Nie zabijaj powłoki! –

+6

Dla płyty brzmi to jak w zależności od aplikacji (zazwyczaj sterownika karty graficznej), która czeka na hak eksploratora. (takie jak menu prawego przycisku graficznego niektórzy dostawcy dołączają do menu podręcznego prawym przyciskiem myszy) Brak explorer ==, który nie ładuje się, a sterownik graficzny dławi się. Może. Ale naprawdę w to wątpię. W jaki sposób dokładnie "podkręcasz" proces uruchamiania? –

Odpowiedz

11

Rozwiązał problem. Poszedłem do Control Panel->UserAccounts->Change the way users log on or off i zobaczyłem, że zostało zaznaczone "Użyj ekranu powitalnego".

Odznaczenie, że zostało rozwiązane. Wygląda na to, że gdy ekran powitalny jest aktywny, ponieważ używa innej rozdzielczości niż pulpit, dochodzi do konfliktów. I nie sprawdziłem, ale wydaje się, że to spowodowało chwilową niedostępność akceleracji sprzętowej, a tym samym wybrano renderowanie oprogramowania, zabijając procesor.

+1

Dobry połów. I dziękuję za opublikowanie rozwiązania dla przyszłych wyszukiwań. – BoBTFish