Wpis z mikrobloga

Pomoże ktoś/poradzi?
Kod zapierdziela jak rakieta, ale gdy dochodzi do tej części zwalnia 2-3 krotnie.

click queue to dict zawierający handle okna i ilosc kliknięć
pobieram pierwszy element listy, wykonuje na nim co powinno się wykonać
bla bla

usuwam z kolejki, lece po kolejnym dopóki nie skończą się elementy

Co źle robie?
To nie chodzi raczej o te sleepy, są giga krótkie, przed tym fragmentem kod wykonuje się z ok 20 razy na sekunde, w tym fragmencie max 5-6

Dodam, że ta funkcja chodzi na osobnym threadzie
#python
H0nney - Pomoże ktoś/poradzi?
Kod zapierdziela jak rakieta, ale gdy dochodzi do tej ...

źródło: comment_1633219668Vo8KypCtqUMdATQWY6zIhe.jpg

Pobierz
  • 8
@H0nney: Przed tym fragmentem kod wykonuje się 20 razy na sekundę czyli w około 5ms.
W tym fragmencie dodajesz minimum 7 milisekund opóźnienia (nie wiem czy python jest real-time'owy, podejrzewam że nie, więc rzeczywiste opóźnienie będzie dłuższe).

Razem mamy 12 milisekund - maksymalna możliwa ilość wykonań kodu to 8,(3) na sekundę.
Jak dla mnie wszystko działa zgodnie z oczekiwaniami ¯\_(ツ)_/¯
@H0nney: Ha, racja. Już śpię ( ͡° ͜ʖ ͡°)
Ale tak czy siak. Upatrywałbym problemów w sleepach. W językach wysokiego poziomu jest to mocno nieprzyjemna komenda jeśli chcesz coś robić szybko. Właśnie doczytałem i python pod Windowsem ma podobnie jak C# - paręnaście milisekund to minimum. Pod linuxami zwykle jest lepiej, często dobrze (zależnie od jądra).

Czy na pewno musisz ustawiać i czekać na okno za każdym