Koukal jsem se na implementaci a parametr icon je používán pouze pro X server, kde (volný překlad):
Vlastnost WM_ICON_NAME je řetězec, který se zobrazí v případě minimalizace okna (např. jako "icon label" - název vedle ikony). Včetně typu je podobný vlastnosti WM_NAME (titulek okna). Kvůli různým rozměrům bývá běžně viditelných méně znaků z WM_ICON_NAME, než z WM_NAME.
Názory k článku
SDL: Hry nejen pro Linux (10)
Marty (neregistrovaný)
26. 4. 2005 14:43
Nový
Offline verze clanku
celé vlákno
Nebyla by k dispozici Offline verze clanku jako u predchozich dilu ?
Dik Martin
Dik Martin
26. 4. 2005 15:05
Nový
Re: Offline verze clanku
celé vlákno
Za to já nemůžu, ale zkusím napsat do redakce...
uživatel si přál zůstat v anonymitě
26. 4. 2005 16:18
Nový
Vytizeny procesor
celé vlákno
Tak jsem nahodou zabrousil na tento clanek a vyzkousel jsem uvedeny priklad s oknem, ktere jen ceka na klavesy. Prekvapilo me, ze to vytoci procesor na plne obratky. To by slusne vychovany program delat nemel, zvlaste kdyz nedela nic moc nez ceka na klavesu.
Zmenil jsem tedy funkci SDL_PollEvent za SDL_WaitEvent a pak uz jsem byl spokojeny. Podotykam, ze o SDL nic nevim a serial jsem necetl od zacatku. Pouze si myslim, ze bychom nemeli ucit uzivatele delat programy, ktere uzurpuji veskery vykon procesoru pro sebe (doba MSDOSU, kde takove programy mely sve opodstatneni, uz pominula).
Zdravim
Petr Olsak
Zmenil jsem tedy funkci SDL_PollEvent za SDL_WaitEvent a pak uz jsem byl spokojeny. Podotykam, ze o SDL nic nevim a serial jsem necetl od zacatku. Pouze si myslim, ze bychom nemeli ucit uzivatele delat programy, ktere uzurpuji veskery vykon procesoru pro sebe (doba MSDOSU, kde takove programy mely sve opodstatneni, uz pominula).
Zdravim
Petr Olsak
26. 4. 2005 18:43
Nový
Re: Vytizeny procesor
celé vlákno
Opodstatneni neopodstatneni, v DOSu jsi predevsim nemel na vyber. Teda pokud nepocitame moznost volat instrukci hlt.
27. 4. 2005 0:12
Nový
Re: Vytizeny procesor
celé vlákno
Máte pravdu, v tomto případě nenacházím dostatečnou omluvu :-(
V počítačových hrách se obecně problémy tohoto typu nevyskytují. Programátoři spíše řeší otázku, jak přinutit hru, která už sama o sobě zabírá 100% procesoru, aby běžela ještě o nějakou tu desetinku FPS rychleji. Z tohoto důvodu se většinou ostatní procesy ignorují a vše se nechá běžet, jako zde, v cyklu, který je nejrychlejším řešením. Nicméně globálně souhlasím, že je rozdíl mezi programem, který čeká na stisky klávesy a programem, který v každém cyklu renderuje sto tisíc trojúhleníčků.
No, když nic jiného, mohl jsem alespoň přidat nějakou podmínku, která při FPS vyšším než je určitá hodnota zavolalo SDL_Delay(). V dalších článcích (které jsem ještě neodeslal do redakce) se na to pokusím myslet...
Mimochodem SDL_WaitEvent() je vhodné řešení pro tento "speciální" případ, ale obecně se moc ve hrách nevyskytuje. V případě prázdné fronty událostí by se všechno zastavilo (animace apod.). Něco málo o tom bude v příštím dílu.
V počítačových hrách se obecně problémy tohoto typu nevyskytují. Programátoři spíše řeší otázku, jak přinutit hru, která už sama o sobě zabírá 100% procesoru, aby běžela ještě o nějakou tu desetinku FPS rychleji. Z tohoto důvodu se většinou ostatní procesy ignorují a vše se nechá běžet, jako zde, v cyklu, který je nejrychlejším řešením. Nicméně globálně souhlasím, že je rozdíl mezi programem, který čeká na stisky klávesy a programem, který v každém cyklu renderuje sto tisíc trojúhleníčků.
No, když nic jiného, mohl jsem alespoň přidat nějakou podmínku, která při FPS vyšším než je určitá hodnota zavolalo SDL_Delay(). V dalších článcích (které jsem ještě neodeslal do redakce) se na to pokusím myslet...
Mimochodem SDL_WaitEvent() je vhodné řešení pro tento "speciální" případ, ale obecně se moc ve hrách nevyskytuje. V případě prázdné fronty událostí by se všechno zastavilo (animace apod.). Něco málo o tom bude v příštím dílu.
uživatel si přál zůstat v anonymitě
28. 4. 2005 15:47
Nový
Re: Vytizeny procesor
celé vlákno
Ja osobne nemam rad ani hry, ktere vytezuji procesor zbytecne na 100%. Takove hry nemaji na mem pocitaci vubec misto.
To, co pisete o animaci, by se vse melo resit timerama, tj. animace bezi podle nastaveni timeru
a neuzurpuje si cely procesor pro sebe. Takto se mel udelat i dalsi priklad, na ktery jsem se namatkove podival: polopruhledna koule putujici po duhovem pozadi, pate pokracovani.
Pokud by nekoho napadlo udelat "screensaver" tak, jako je v uvedenem prikladu s kouli, pak to neni saver niceho: ani obrazovky a navic to zahriva na plny vykon procesor. Tohle se typicky ma delat pres timery: pak to nebere procesoru skoro zadny vykon.
Zdravim
Petr Olsak
To, co pisete o animaci, by se vse melo resit timerama, tj. animace bezi podle nastaveni timeru
a neuzurpuje si cely procesor pro sebe. Takto se mel udelat i dalsi priklad, na ktery jsem se namatkove podival: polopruhledna koule putujici po duhovem pozadi, pate pokracovani.
Pokud by nekoho napadlo udelat "screensaver" tak, jako je v uvedenem prikladu s kouli, pak to neni saver niceho: ani obrazovky a navic to zahriva na plny vykon procesor. Tohle se typicky ma delat pres timery: pak to nebere procesoru skoro zadny vykon.
Zdravim
Petr Olsak
28. 4. 2005 19:27
Nový
Re: Vytizeny procesor
celé vlákno
No, já se systémovými timery na podobné aplikace zrovna dobré zkušenosti nemám. Jsou sice dobrý, když chcece něco spouštět jednou za 100 milisekund a více, ale na něco trochu častějšího, jako je aktualizace scény, se vůbec nehodí, protože se všechno stává extrémně trhaným. Navíc není zaručeno, že aplikace dostane všechny zprávy (ve frontě může být vždy jen jedna, další se nevloží).
Z mého pohledu je pravděpodobně nejlepší renderování v cyklu a pokud je FPS vyšší než řekněme sto, program na chvíli uspat.
Z mého pohledu je pravděpodobně nejlepší renderování v cyklu a pokud je FPS vyšší než řekněme sto, program na chvíli uspat.
vklaus@kgb.ru (neregistrovaný)
9. 5. 2005 23:52
Nový
koloborant
celé vlákno
timto slavnostne oznamujeme ze pan vaclav klaus pracoval pro komunistickou rozvedku vaclav klaus kgb nkvd stb security service sicherheitsdiestns bordel spina hovno microsoft
nardew (neregistrovaný)
4. 7. 2007 13:31
Nový
SDL_WM_SetIcon
celé vlákno
neviem ci to tu nikto cita, ale za skusku to stoji:
cez SDL_WM_SetIcon mam nastavenu ikonu s bielym pozadim, pricom chcem aby dane biele pozadie bolo transparentne, ale neviem ako mam nastavit masku. dakujem
cez SDL_WM_SetIcon mam nastavenu ikonu s bielym pozadim, pricom chcem aby dane biele pozadie bolo transparentne, ale neviem ako mam nastavit masku. dakujem
:-) (neregistrovaný)
78.108.106.---
17. 11. 2010 16:55
Nový
Re: SDL: Hry nejen pro Linux (10)
celé vláknoPřestanou stačit prsty? Vždyť to bude teprve 11. díl, napočítat můžeme až do 1023. dílu..

