[ekg2-devel] RFD: Korzystanie z idle-handlerow i ich przyszlosc

Jakub Zawadzki darkjames w darkjames.ath.cx
Czw, 10 Lip 2008, 23:09:58 CEST


Czolem,

ostatnio zauwazylem ze peres zaczal korzystac z idle handlerow przy
scrollowaniu opisu, oraz dla autoawayow.

Moje kilka groszy:

Ogolnie idle pisalem dla gtk, zeby petla obslugujaca gtk czesciej
sie wywolywala, tymsamym w ekg_loop() wstawilem kod:

if (idles) {
	stv.tv_sec = 0;
	if (stv.tv_usec > 20000)
		stv.tv_usec = 20000;
	/* max 50 times per second for idler.. i think
	 * it's ok */
}

wiec jak jest jakiekolwiek idle aktywne, do select()'a zamiast:
	max_timeout = 1s
jest	max_timeout = 1/50s

wiec idle sa (na razie) od tego zeby ekg_loop() sie wywolywalo czesciej 

Jak chcemy zrobic idle ktore sie bedzie rzadziej wykonywac, to mozna
zrobic priorytety.

np. IDLE_PRIORITY_NONE ktore by nie modyfikowalo timeouta selecta.
IDLE_PRIORITY_LOW z f = ok. 10 Hz
IDLE_PRIORITY_NORMAL ktore by wywolywalo ekg_loop() z f = ok. 25 Hz, a 
IDLE_PRIORITY_HIGH z f = ok. 50 Hz (tak jak jest)

i moznaby wtedy zmigrowac na to timera day_changed, albo odswiezanie
statusbara w ncurses.

tylko jak dla mnie jak chcemy zeby sie cos wykonywalo _dokladnie_ raz na sekunde (+-)
to imho najlepiej stworzyc timera z 1s delayem.

Howgh.


Więcej informacji o liście dyskusyjnej ekg2-devel