Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Optymalizacja programu

Ostatnio zmodyfikowano 2018-08-11 21:58
Autor Wiadomość
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
P-172046
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().
P-172047
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 :/
P-172052
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().
P-172056
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()?
P-172058
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.
P-172072
« 1 »
  Strona 1 z 1