2011-07-24 22:44:55 +0000 2011-07-24 22:44:55 +0000
122
122
Advertisement

Wyłącz "Czy chcesz zmienić schemat kolorów, aby poprawić wydajność?" ostrzeżenie

Advertisement

Czasami pojawia się to okno dialogowe (patrz zrzut ekranu poniżej). Za każdym razem, gdy się pojawia, wybieram opcję “Zachowaj aktualną kolorystykę i nie pokazuj tej wiadomości ponownie”. Windows przypomina mi wtedy ponownie - albo następnego dnia albo po restarcie, albo czasami kolejne 5 minut później.

Chcesz zmienić schemat kolorów, aby poprawić wydajność?

Windows wykrył, że wydajność Twojego komputera jest wolna. Może to być spowodowane tym, że nie ma wystarczających zasobów do uruchomienia schematu kolorów Windows Aero. Aby poprawić wydajność, spróbuj zmienić schemat kolorów na Windows 7 Basic. Wszelkie zmiany wprowadzone przez użytkownika będą obowiązywać do następnego logowania do Windows

  • Zmień schemat kolorów na Windows 7 Basic
  • Zachowaj aktualny schemat kolorów, ale zapytaj mnie ponownie, czy mój komputer nadal wykonuje się powoli
  • Zachowaj aktualny schemat kolorów i nie pokazuj tego komunikatu ponownie

Czy istnieje jakiś powód, dla którego Windows ignoruje/pomina moje próby stłumienia okna dialogowego? Chętnie nigdy więcej go nie zobaczę, jest irytujący, i wypycha mnie z aplikacji pełnoekranowych.

Jeśli to ma znaczenie, uruchamiam Windows 7 x64 Professional. Wierzę, że okno dialogowe się pojawi, ponieważ wymuszam Vsync i Triple Buffering dla aplikacji DirectX.

Advertisement
Advertisement

Odpowiedzi (5)

74
74
74
2011-07-24 23:49:18 +0000

Zakładając, że zdajesz sobie sprawę z tego, że ten komunikat informuje Cię, że Twój system ma mało zasobów i prosi Cię o wyłączenie Aero, aby mogło ono pracować z optymalną prędkością,

  1. Przejdź do Menu Start i wpisz Centrum akcji w polu wyszukiwania
  2. Uruchom go (powinien być to górny wpis, w grupie “Panel sterowania”)
  3. Na lewym pasku bocznym kliknij Change Action Center settings
  4. Usuń zaznaczenie pola wyboru Windows Troubleshooting w pozycji “Maintenance Messages”.
  5. Kliknij przycisk Ok i gotowe.

Oto zrzut ekranu ustawień:

Alternatywnie:

  • Możesz spróbować zachować to ustawienie tak jak jest i przełączyć się w tryb podstawowy przed uruchomieniem aplikacji, które zazwyczaj uruchamiają powiadomienie z Centrum akcji. Albo,
  • Możesz kliknąć prawym przyciskiem myszy ikony, których używasz do uruchamiania tych pełnoekranowych aplikacji, klikając na właściwości i pod zakładką Kompatybilność zaznaczając Disable desktop composition. Spowoduje to wyłączenie usługi Desktop Window Manager Session Manager podczas wykonywania tej aplikacji, co zwiększy pamięć systemową i wideo oraz pozwoli uniknąć niektórych niezgodności aplikacji. Prawdopodobną przyczyną pojawienia się komunikatu Centrum akcji, jeśli posiadasz wystarczającą ilość pamięci systemowej i wideo, ale nadal otrzymujesz ten komunikat w przypadku niektórych gier lub aplikacji pełnoekranowych.
28
28
28
2012-11-03 13:35:57 +0000

Jestem ciągle w podobnej sytuacji, mimo że nigdy nie dostaję dokładnie tego samego przesłania i trochę testowałem.

W moim rozumieniu, głównym zasobem, który jest tu stresujący, jest pamięć GPU. Ale to nie musi oznaczać, że ten zasób w ogóle się kończy. Może to po prostu oznaczać, że Desktop Window Manager wykrył, że uruchamiasz _ tak nisko_, że jedna konkretna funkcja tej usługi może zostać wyłączona, aby zwolnić więcej pamięci.

Aby to przetestować, zacząłem otwierać aplikacje wymagające dużej ilości pamięci GPU:

Jest to nieco ponadprzeciętne wykorzystanie w konfiguracji trójekranowej z uruchomionymi kilkoma kluczowymi graczami (Visual Studio 2012 (z włączoną akceleracją sprzętową), PhpStorm, Aptana Studio, Chrome, Firefox, IE, …). Tak więc, tak, jeśli masz tylko 1 GB karty i to byłby twój zwykły scenariusz użycia, to już masz problem.

Musiałem popchnąć trochę dalej i zacząć kilka kolejnych instancji Visual Studio…

…aż zbliży się do znaku 1,5 GB i…

SNAP! Spowodowało to, że Windows całkowicie zabił komponowanie pulpitu (i uwolnił pewne cenne zasoby).

Teraz, kiedy jestem już na krytycznym poziomie i uruchamiam aplikację, która zużywa nadmierną ilość pamięci GPU w trybie fullscreen , mogę nawet przekroczyć ten krytyczny limit. Oto wynik po uruchomieniu Black Mesa przez jakiś czas na 2560x1440 przy maksymalnej szczegółowości:

Tak więc, można odjąć od tego dwie rzeczy. Przekroczenie progu 75% na pulpicie może zmusić system Windows do wyłączenia kompozycji pulpitu, gdy osiągnie ten sam limit w aplikacji pełnoekranowej (i, opcjonalnie, wyjście z tej aplikacji) kompozycja pulpitu nie jest wyłączona. Druga rzecz to, że podczas gry, można uzyskać pomysł “Hej, mam wystarczająco dużo zasobów do uruchomienia tej gry, dlaczego nie mam wystarczająco dużo zasobów na pulpit?”. Powodem jest to, że oba wymagają pamięci w tym samym czasie.

Windows może być w stanie powiedzieć ci o sytuacji pamięci tylko po wyjściu z gry. Tak więc, kiedy uruchamiam kolejne Visual Studio po wyjściu z Black Mesa…

Co możemy z tym zrobić?

Get more GPU memory

Sweet and simple.

Disable Desktop Composition (per process)

As was already suggested, you can disable desktop composition for a single executable. To powoduje, że kompozycja pulpitu jest tymczasowo wyłączona podczas wykonywania programu wykonywalnego. To drastycznie zredukowało całkowite zużycie pamięci podczas wykonywania aplikacji w moich testach:

Notatka o nagrodzie wspomina, że jest to niepożądane, ponieważ jest to potencjalnie bardzo dużo pracy.

Disable Desktop Composition (globally)

I wouldn’t consider this a solution as desktop composition is usually desired. But this is where to disable it:

I just want to get rid of the irytującą wiadomość!

Just because you remove the warning “ Your battery is almost empty! Możesz mówić tylko jeszcze przez 10 minut!” nie oznacza, że możesz mówić dłużej niż 10 minut. W rzeczywistości, Twój telefon najprawdopodobniej po prostu się wyłączy i to wszystko. Teraz jak to się ma do poprawy?

Nigdy nie zakładałem, że wiadomość może być wyłączona i nie widzę, jak można to uznać za korzyść.

Możesz myśleć, że wiesz lepiej, ale nie wiesz. Jeśli system mówi Ci, że skończyły się zasoby, to tak.

Ale tak nie jest! Wiem!

Ok, załóżmy, że Windows nie jest wystarczająco inteligentny, aby wykryć szczególną sytuację, w której się znajdujesz, a komunikat ostrzegawczy jest po prostu irytującą niedogodnością. Co teraz?

Rzecz w tym, że ja osobiście też jestem tym dotknięty i to mnie wkurza, do cholery. Bo ja nawet nie dostaję tej wiadomości ostrzegawczej. Windows po prostu zmienia mój profil kolorystyczny i to wszystko. I to mi się naprawdę podoba.

Kiedy to się dzieje, zazwyczaj szybko uruchamiam skrypt, który wywołuje

net stop uxsms & net start uxsms

Oto pełny skrypt. Otworzy on podpowiedź UAC i zrestartuje usługę, aby można było ją uruchomić z dowolnego miejsca. Mam go przypiętego do menu startowego.

@if (1==1) @if(1==0) @ELSE
@echo off&SETLOCAL ENABLEEXTENSIONS
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"||(
    cscript //E:JScript //nologo "%~f0"
    @goto :EOF
)
NET STOP uxsms
NET START uxsms
@goto :EOF
@end @ELSE
ShA=new ActiveXObject("Shell.Application")
ShA.ShellExecute("cmd.exe","/c \""+WScript.ScriptFullName+"\"","","runas",5);
@end

To restartuje Desktop Window Manager i sprowadza mnie z powrotem do mojego skomponowanego pulpitu (i uwalnia wiele zasobów w tym procesie, yay).

Wiedząc o tym, można również zbudować sobie specjalne środowisko gry, gdzie można zatrzymać usługę przed rozpoczęciem gry do zwalczania tego całego zachowania. Spowoduje to jednak identyczne zachowanie jak w przypadku wyłączania kompozycji pulpitu dla pojedynczego pliku wykonywalnego poprzez właściwości pliku.

18
Advertisement
18
18
2017-03-31 14:28:04 +0000
Advertisement

Mam coraz ten cholerny komunikat dokuczał mi cały czas, jak również (już od dłuższego czasu) na komputerach z systemem Windows 7, głównie podczas zdalnego dostępu do nich przez VNC (dowolny smak), ale chcąc zachować Aero i pulpit skład włączony (na pewno nie za pomocą sterownika lustrzanego VNC inny nie Aero na pewno).

Przełącznik do podstawowego tematu, nawet jeśli tymczasowo, na przykład złamać gui’s dla niektórych starych aplikacji (jak te uzyskiwanie wirtualizacji DPI, dostępne tylko z Aero + skład pulpitu), to był jednym z powodów chciałem zachować Aero i skład pulpitu włączony, jako domyślne, ale po prostu zatrzymać cholerny komunikat, ponadto system był rzeczywiście działa dobrze , jak wielu użytkowników potwierdzić na komentarze na tej stronie, to *problem był tylko komunikat! *

Usunięcie zaznaczenia pola wyboru “Windows Troubleshooting” pod “Maintenance Messages” nie jest żadnym rozwiązaniem, ponieważ wielu użytkowników potwierdza komentarze tutaj, to nie działa, a wyłączenie składu pulpitu jest… cóż… jak mówienie, aby wyłączyć silnik samochodu, ponieważ nie działa poprawnie… tzn. nie jest rozwiązaniem…

Po tym jak przez długi czas byłem nękany tą wiadomością zdecydowałem, że naprawdę muszę to przerwać, potem debugowałem dwm.exe i w końcu znalazłem jak zabić tę wiadomość na stałe… jeśli chcesz zrobić to samo i masz Okna 7 SP1 x64 (to chyba inne dla x86) po prostu załataj dwm.exe jak ja:

Ostrzeżenie: Zrób to tylko jeśli wiesz co robisz, w przeciwnym razie możesz złamać swój system!!

dla Windows 7 SP1 x64:

(original file md5: f162d5f5e845b9dc352dd1bad8cef1bc)
open file on an hex editor and search for this pattern:
FF15D2A5000085C079
replace it by:
9090909090909090EB
(patched file md5: 2ab05d7454dcd8ef20a7f99b3390973d)

dla Windows 7 SP1 x64 + KB3125574 Rollup Convenience:

(original file md5: c206c9dbfc34afd367dd150d979a5185)
open file on an hex editor and search for this pattern:
FF1562B1000085C079
replace it by:
9090909090909090EB
(patched file md5: 8243c03dad2b9aaaddabe65e4869e2ae)

(łatka po prostu usuwa połączenie do TaskDialogIndirect api, odpowiedzialnego za pokazanie okna wiadomości i wymusza jmp, który pierwotnie zostałby odebrany jeśli powrót połączenia zakończyłby się sukcesem. … jmp musi być wzięty, ponieważ kod jest najwyraźniej również zrobiony aby po prostu przejść do podstawowego tematu, jeśli nie może pokazać wiadomości)

Zauważ, że aby móc zrobić zmiany/nazwę/zastąpić swój plik dwm.exe musisz zatrzymać usługę “Desktop Window Manager Session Manager” (w serwisach. msc), tak aby przestała działać, i przejąć własność pliku i dostosować uprawnienia… ponieważ plik jest domyślnie własnością TrustedInstaller…

Zauważ również, że w mojej analizie do dwm.exe znalazłem dwie z tych wiadomości (podobne, ale nie takie same):

  • jedna z nich jest wyświetlana na zrzucie ekranu z górnym pytaniem, ta pojawia się gdy dwm. exe używa pewnych zasobów cpu… coś takiego jak 30% może wystarczyć do jego uruchomienia (a VNC to powoduje), moja łatka usuwa tę wiadomość.
  • jest jeszcze jedna podobna wiadomość, ale z nieco innym tekstem, która pojawia się, gdy dwm.exe używa za dużo pamięci GPU, ta nie jest tą pokazaną na zrzucie ekranu pytania i moja łatka nie usunie tej wiadomości.
8
8
8
2011-11-22 08:57:32 +0000

Kończy ci się pamięć GPU. Może to być :

  1. Błąd w programie graficzno-intensywnym, którego używasz (np. w grze)
  2. Błąd w sterowniku wideo,
  3. Komputer z ograniczonymi zasobami.

Ponieważ korzystasz z systemu Windows 7 x64, trzecia możliwość prawdopodobnie nie ma zastosowania.

W przypadku drugiej możliwości, możesz zaktualizować swój sterownik wideo do najnowszej wersji, którą znajdziesz na stronie producenta.

W przypadku pierwszej możliwości, jeśli dzieje się to zawsze podczas uruchamiania tego samego programu, może mieć problemy z kompatybilnością z motywem Aero. Aby wyłączyć Aero podczas uruchamiania tej aplikacji, zmień właściwości jej wykonywalnej na “Disable desktop composition” :

0
Advertisement
0
0
2013-05-07 19:20:25 +0000
Advertisement

Czy jest jakiś powód, dla którego Windows ignoruje/pomina o moich próbach stłumienia okna dialogowego?

Nie - okno nie powinno być wyświetlane ponownie, jeśli na to odpowiesz, ale i tak się zdarza.

Wierzę, że okno dialogowe pojawia się, ponieważ wymuszam Vsync i Triple Buffering dla aplikacji DirectX.

Nie, to nie z tego powodu. Przede wszystkim - Desktop Composition zmusza system (ale nie gry, oni używają DirectX) do pracy w trybie synchronizacji pionowej i daje możliwość korzystania z ładnych funkcji, takich jak Win+Tab (na przykład), więc wyłączenie go, jak wiele osób mówi, nie jest rozwiązaniem, jest to metoda na degradację systemu i naprawdę złe obejście. Niektóre programy działają lepiej z Desktop Composition włączony z tego powodu vsync (jak niektóre odtwarzacze filmowe - to zapobiega rozdarciom), niektóre działają lepiej z Desktop Composition wyłączony (niektóre okno z granicami typu kropka porusza się naprawdę wolno, gdy DC jest włączony, również gfx program jak stary Corel może działać znacznie wolniej), ale nowe programy zawsze działa dobrze, więc zostaw Desktop Composition włączony.

Na razie polecam poczekać, aż MS wyda jakąkolwiek poprawkę na to irytujące zachowanie. Na pewno nie wyłączaj programu Desktop Composition, jeśli lubisz nowe funkcje Win7 lub Vsync.

Advertisement

Pytania pokrewne

3
28
13
7
8
Advertisement