Należy tu rozważyć kilka różnych rzeczy: Po zmianie priorytetu procesu ten priorytet podstawowy jest dziedziczony przez wszystkie jego wątki i inne uruchamiane przez niego procesy. Obecny priorytet składa się z priorytetu podstawowego i szeregu czynników, które decydują o tym, czy należy go zwiększyć, czy nie - bycie na pierwszym planie niekoniecznie zwiększa priorytet, ale rzeczy takie jak wyjście ze stanu oczekiwania lub wykonanie operacji zamówienia krótkotrwały tymczasowy impuls.
Sugerowałbym, aby uruchomienie procesu programu Excel z wysokim priorytetem podczas pracy nad tymi bardzo intensywnymi skoroszytami mogło mieć sens, i powiedziałbym, że drugi skrót o nazwie „Excel o wysokim priorytecie” może być dobrym sposobem na zrobienie tego. Najpierw utwórz jednowierszowy plik wsadowy, który uruchamia polecenie start z odpowiednimi przełącznikami, np .:
start "high priority excel" /max /high "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE"
(w 64-bitowej wersji systemu Windows byłoby to możliwe, start "high priority excel" /max /high "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE"
chyba że używasz również 64-bitowej wersji pakietu Office, która jest dostępna tylko od 2010 roku start "high priority excel" /max /high "C:\Program Files\Microsoft Office\Office14\EXCEL.EXE"
). Pamiętaj, że tytuł okna może być dowolny, ale nie jest opcjonalny.
Teraz zapisz to jako np. HiperExcel.cmd gdzieś pod ręką - może folder biurowy, folder ac: \ scripts lub coś takiego, lub folder domowy, aby mógł wędrować z urządzenia do komputera. Utwórz nowy skrót, który wskazuje ten plik, ustaw folder początkowy jako folder, w którym plik jest przechowywany. Wybierz ikonę pliku - przejrzyj plik wykonywalny Excel.exe, a następnie wybierz coś innego niż zwykła ikona Excel .
Kliknij nowy skrót, aby wywołać program Excel działający jako proces o wysokim priorytecie, z podstawowym priorytetem 13, a podczas działania prawdopodobnie uzyska maksymalny priorytet dla procesów poza czasem rzeczywistym wynoszący 15. Nawet jeśli coś innego zostanie przyspieszone, nie powinien mieć wyższego priorytetu. Zauważ, że proces pierwszego planu NIE ma pierwszeństwa tylko dlatego, że jest na pierwszym planie (nie od NT4.0). Więc, co się dzieje?
Ponownie wykorzystaj to, co do tej pory znaliśmy: procesy na zmianę następują zgodnie z priorytetem, ale nie do absolutnego wykluczenia procesów o niższym priorytecie (no cóż, naprawdę wątki, ale pozwalamy zachować procesy w celu ułatwienia dyskusji). Co się stanie, gdy proces uzyska swoją „kolej”? Może działać przez jednostkę czasu zwaną kwantową. Jak długo trwa kwant? To zależy...
W tym momencie proces pierwszego planu może zużywać więcej zasobów - gdy otrzyma zwrot, ten zwrot może trwać trzy razy dłużej niż zwroty procesów w tle. Więc może nie dostać się bardzo często (w zależności od priorytetu), ale kiedy to zrobi, będzie go zatrzymywał na dłużej.
Możesz wybrać użycie krótkich lub długich kwantów (domyślnie brak na systemie operacyjnym stacji roboczej, długi na serwerach) i zwiększenie lub przyspieszenie procesu pierwszego planu (zmienne dla w / s, domyślnie ustawione dla serwerów), a jeśli zwiększone, przez ile (efektywnie do 3 razy). Problem polega na tym, że jeśli zdecydujesz się zmienić mnożnik, w rezultacie wszystko będzie miało bardzo krótkie wartości kwantowe, podczas gdy jeśli wyłączysz zwiększanie pierwszego planu, wszystko stanie się dłuższe, ale równe. Jeśli go wyłączysz, usługi Windows w tle będą miały taką samą ilość jak aplikacje użytkownika, co może nie być idealne. Musisz ustawić wartość w rejestrze na: HKLM \ System \ CurrentControlSet \ Control \ PriorityControl \ Win32PrioritySeparation, używając maski bitowej. Aby to ułatwić, najbardziej prawdopodobne wartości, które powinny być:
2 = wartość domyślna, oznacza użycie wartości domyślnych z maksymalnym wzmocnieniem. wartości domyślne na O / S stacji roboczej są krótkie i zmienne. 8 = ustalone, krótkie kwantowe (pierwszy plan i tło są równe) 40 (dziesiętny, x28 szesnastkowy) = ustalone i długie (jest to to samo, co ustawienia domyślne serwera) 36 (dziesiętny, x24 szesnastkowy) = krótkie, zmienne, ale minimalne wzmocnienie dla pierwszego planu . Myślę, że jest to ten, który prawdopodobnie przyniesie największe korzyści w zmniejszeniu ilości konkurujących innych aplikacji, ale pozwoli Excelowi uzyskać więcej zasobów na pierwszym planie (o ile również podniesiesz jego priorytet).
Spróbuj i przekonaj się, mam nadzieję, że to pomoże - Twój przebieg może się oczywiście różnić.
Poza tym: wiele innych aplikacji lub procesów nie ma procesora jako wąskiego gardła - twoje przykłady synchronizacji Outlooka i przeglądania IE prawdopodobnie mają sieć, a być może dla Outlooka niektóre dyskowe operacje we / wy jako ważniejsze czynniki ich prędkości, więc czy dostaną wzmocnienie pierwszego planu, czy nie, wpływ widocznej wydajności jest prawdopodobnie poniżej tego, co widać po prostej obserwacji.