Do czego to służy
PWM CPU Limiter obniża wykorzystanie procesora przez konkretny program korzystając z PWM - modulacji szerokości impulsu. Osoby siedzące w elektronice wiedzą o co chodzi :)
Program bardzo szybko wstrzymuje i wznawia wybrany proces, przy czym zarówno między wstrzymaniem a wznowieniem, a wznowieniem i wstrzymaniem jest jakaś przerwa. Dobierając odpowiednio te przerwy można sterować "wypełnieniem" tego procesu w ogólnym czasie procesora.
Dla zainteresowanych, fragment kodu źródłowego:
v := Form1.LimitBar.Position;
r := Form1.LimitBar.Max-v;
repeat
for i := 0 to threads.Count-1 do SuspendThread(cardinal(threads[i]));
// linia wyżej odpowiada za wstrzymanie procesu
timeBeginPeriod(1);
Sleep(r);
timeEndPeriod(1);
for i := 0 to threads.Count-1 do ResumeThread(cardinal(threads[i]));
// linia wyżej odpowiada za wznowienie procesu
timeBeginPeriod(1);
Sleep(v);
timeEndPeriod(1);
{ ... } // nieistotne
until timetoend;
Brak komentarzy:
Prześlij komentarz
Pokemonizmu nie tolerujemy!!!