Nie jestem świadomy funkcji/funkcji ap32 win32 używanej do sprawdzania aktualnej prędkości lokalnego procesora komputera. Nie chcę korzystać z WMI, ponieważ wydaje się mało prawdopodobne, aby było możliwe na wszystkich komputerach.Funkcja win32 api, aby uzyskać bieżącą prędkość procesora
Odpowiedz
Możesz (zazwyczaj) uzyskać prędkość procesora za pomocą funkcji QueryPerformanceFrequency
. Mówię "zwykle", ponieważ ta funkcja zwraca częstotliwość komponentu timera wydajności systemu, ale praktycznie wszystkie dostępne obecnie procesory działają na tej samej częstotliwości, co komponent timera wydajności.
Ta funkcja jest dostępna od systemu Windows 2000, więc jest duża szansa, że jest obsługiwana na większości dzisiejszych komputerów.
"praktycznie wszystkie dostępne obecnie procesory działają na tej samej częstotliwości, co komponent timera." Dokumentacja [documentation] (https://msdn.microsoft.com/en-ca/library/windows/desktop/dn553408 (v = vs.85) .aspx) twierdzi: "W wielu przypadkach QueryPerformanceFrequency zwraca częstotliwość TSC podzieloną przez 1024, a na Hyper-V częstotliwość licznika wydajności zawsze wynosi 10 MHz, gdy maszyna wirtualna gościa działa pod hiperwizorem, który implementuje interfejs hypervisor wersji 1.0. " Wygląda na to, że przypadek "podzielony przez 1024" dotyczy w szczególności mojego systemu. To nie wydaje się zbyt wiarygodne :( –
Proste wyszukiwanie google przyniosło mi this page, który wygląda tak, jakby miał 2 różne sposoby robienia dokładnie tego, czego szukasz.
Obie te metody mogą powodować niedokładne zegary. Powodem jest to, że wszyscy oni (bezpośrednio) używają bezpośrednio instrukcji 'rdtsc' w procesorze, która daje" pseudo "cykle, a nie" rzeczywiste "cykle. – Mysticial
Czy implementacja QueryPerformanceCounter zwykle nie jest oparta na rdtsc? Druga metoda wydaje się raczej zbędna ... –
można wywołać funkcję Windows API CallNtPowerInformation z ProcessorInformation argumentów. Zwraca strukturę PROCESSOR_POWER_INFORMATION, która informuje o aktualnej i maksymalnej szybkości procesora dla każdego z procesorów twojego systemu.
Jest to obsługiwane tylko na pulpicie Win32, a nie w Metro lub Windows Phone.
- 1. Jak uzyskać liczbę cykli procesora w Win32?
- 2. Interfejs API win32 win32 api
- 3. Funkcja Win32, aby uzyskać ścieżkę do C: \ ProgramData
- 4. Jak uzyskać prędkość wentylatora procesora za pomocą biblioteki OpenHardwareMonitor?
- 5. Jak uzyskać temperaturę procesora i prędkość wentylatora na OS X?
- 6. UITextView uzyskać bieżącą linię
- 7. Jak uzyskać nazwę wątku Win32?
- 8. WinRT jako zamiennik Win32 API
- 9. Wykrywać prędkość procesora/pamięć/szybkość Internetu za pomocą Java?
- 10. Napisz program, aby uzyskać rozmiary i poziomy pamięci podręcznej procesora.
- 11. Polecenie, aby zdalnie uzyskać specyfikację dysku twardego i procesora
- 12. funkcja rekursywna, aby uzyskać wszystkie kategorie podrzędne
- 13. jQuery funkcja, aby uzyskać aktualną rzutnię?
- 14. Funkcja PHP, aby uzyskać status Facebooka?
- 15. Stos API Win32 chodzić z MinGW/MSYS?
- 16. Na Win32 jak przenieść wątek do innego rdzenia procesora?
- 17. iPhone CoreLocation: jak uzyskać najdokładniejszą prędkość?
- 18. Monitoruj ładowanie baterii za pomocą Win32 API
- 19. Jak wykryłbyś bieżącą przeglądarkę w kontrolerze Api?
- 20. Jak uzyskać częstotliwość procesora wC#
- 21. Jak uzyskać prędkość bieżącej przepustowości (pobierania)?
- 22. Jak uzyskać numer procesora na Androidzie
- 23. Tworzenie tabeli przy użyciu Win32 API
- 24. Globalny klawisz skrótu z interfejsem WIN32 API?
- 25. Windows 7 Ribbon UI Win32 API Code
- 26. Tworzenie menu kontekstowego dla Win32 API
- 27. Jak korzystać z API Win32 z pythonem?
- 28. Do czego służy wiadomość WIN32 API WM_REFLECT?
- 29. Win32 API do wyliczenia funkcji eksportowania dll?
- 30. Win32 API do określania, czy ścieżka jest względna czy absolutna?
Cześć Sezam! To pytanie jest trochę niejasne, ale mam nadzieję, że ktoś może pomóc. – Coffee
Jakie wersje okien są kierowane? Dostępność WMI zależy tylko od wersji systemu Windows, myślę, że ... – bdonlan
Nie ma funkcji API, aby to zrobić. Nawet WMI może podawać niedokładne wartości dla zegara procesora. Najlepszym programem, o którym wiem, że uzyskałem prędkość zegara, jest CPUz. – Mysticial