[C++] Optymalizacja programu
Ostatnio zmodyfikowano 2018-08-11 21:58
Jah00 Temat założony przez niniejszego użytkownika |
[C++] Optymalizacja programu » 2018-08-09 15:24:06 Witam, ostatnio piszę program który cały czas działa w tle jednak jest on strasznie obciążający dla procesora (używa około 20% - 25%), program składa się głównie z pętli i instrukcji warunkowych, dorzucam link ze zdjęciem poglądowym jak to wygląda. Moje pytanie do was to w jaki sposób zmniejszyć obciążenie komputera, czytałem coś o wątkach jednak nie do końca wiem czy w moim przypadku to pomoże. https://zapodaj.net/a83134b3cf86f.jpg.html |
|
pekfos |
» 2018-08-09 15:30:29 Niech pętla nie wykonuje się przez cały czas. Usypiaj ją na krótką chwilę. 25% obciążenia znaczy, że masz 4 procesory logiczne i twój program wyciska ile może z jednego. Do usypiania możesz użyć std::this_thread::sleep_for(). |
|
Jah00 Temat założony przez niniejszego użytkownika |
» 2018-08-09 16:27:46 Problem w tym że program w kilku miejscach uruchamia inne aplikacje po naciśnięciu pewnej kombinacji klawiszy, a wtedy uśpienie pętli spowoduję że ta kombinacja klawiszy nie zawsze zadziała :/ |
|
pekfos |
» 2018-08-09 16:49:03 W takim razie twoje wykrywanie naciśnięć klawiszy nie nadaje się do takiego zastosowania. Powinieneś raczej zrobić to przez SetWindowsHookEx() i WH_KEYBOARD, a nie przez GetAsyncKeyState(). |
|
Jah00 Temat założony przez niniejszego użytkownika |
» 2018-08-09 17:44:27 Więc muszę go trochę przebudować, a tak z ciekawości to w jakich sytuacjach lepsza jest GetAsyncKeyState()? |
|
DejaVu |
» 2018-08-11 21:58:23 Do gier, które wymagają szybkiej reakcji. Możesz bowiem pobrać stan klawiszy tuż przed sprawdzeniem czy określony klawisz jest wciśnięty. |
|
« 1 » |