|
|
|
Budeshti podobreniia v X-a na FreeDesktop
|
|
|
|
|
|
ot Ognian Kulev(5-11-2003)
Sled kato na vsichki stana iasno, che dobriiat star XFree86 ne shte da se razviva, veche ima i konkretni nasoki za podobrenie, koito mozhe i da ne budat v ofitsialniia svoboden X survur. Te sa predlozheni ot Havoc Pennington, dobre izvesten v tezi sredi. Nakratko, stava vupros za slednoto:
- X survurut da durzhi kopie na sudurzhanieto na prozortsite. Dosega vsiako prechertavane iziskvashe prilozhenieto da prerisuva vsichko. Vseki, izpolzval X, vizhda tova, dazhe i nishto da ne razbira ot arhitekturata na X. SHTe otnema izvestno kolichestvo pamet, no i bez drugo skoro 32 bita (4G pamet) za nishto niama da stigat.
- Osven window manager, veche shte ima i composite manager, koito shte stoi mezhdu kopieto na prozoretsa i realno pokazvanoto izobrazhenie na ekrana i shte mozhe da pravi transformatsii. Konkretno, tova e alfa prelivaneto mezhdu prozortsi. Druga upotreba e v programi kato VNC, koito suvsem prosto shte hvashtat obraza na ekrana. Treto prilozhenie e OpenGL (3D) transformatsii, kakto shte mozhe i zadavashtiia se Longhorn.
Drug izvesten uchastnik v X-a na freedesktop.org e Keith Packard, suzdateliat na Xft, ili kakto sega e po-izvestno: FontConfig. Tui che tozi kloning na X edva li shte zagine, kakvato sudba mozhe bi ochakva Xouvert, koito, spored edin komentar v OSNews, niama nito edin dokazal se razbirach ot X fronta.
<< Blender 3D versiia 2.30 | Novell kupuva SuSE za $210M >>
|
|
|
|
|
Humm... Ot: Dimitur ZHekov <jimmy< at >is-vn[ tochka ]bg> Na: 5-11-2003@7:33 GMT+2 Otsenka: 1/NeutralenZa #1 - to i sega si ima backing store, pone v XFree86. Za #2 - aman s tiia prozrachni prozortsi, a OpenGL v prozorets si ima otkrai vreme (dazhe i v Win9x), drug e vuprosa, che pochti niama draiveri, koito da go poddurzhat. I vuobshte, pri tolkoz treski za v X-a, tochno s tiia li gluposti nameriha da se zanimavat...
[Otgovori na tozi komentar]
Kum: Humm... Ot: Ognian Kulev <ogi __@__ fmi__dot__uni-sofia__dot__bg> Na: 5-11-2003@7:54 GMT+2 Otsenka: 1/NeutralenOtnosno #1:
"Backing store is usually a decelerator"
-- Mark Vojkovich, http://xfree86.desiato.de/xfree86/pipermail/xpert/2001-December/013621.html
(V drugi pisma se oplakvat, che na vsichkoto otgore e bugav i nepoddurzhan.)
Otnosno #2:
Ne "OpenGL v prozorets", a "Vseki prozorets mozhe da se transformira chrez OpenGL (ot composite manager) bez programata vuobshte da se useti".
Redaktiran na: 5-11-2003@7:57
[Otgovori na tozi komentar]
Kum: Kum: Humm... Ot: al_shopov Na: 5-11-2003@9:31 GMT+2 Otsenka: 1/NeutralenNe e zadulzhitelno smesvaneto po alfa kanal da se pravi chrez OpenGL. Mozhe da se polzva Render. I toi vurshi podobna rabota. Problemut s OpenGL e, che vsichko triabva da se izvurshi v edin osnoven prozorets, koeto ne vinagi e vuzmozhno.
Hubavoto na OpenGL e, che chesto e harduerno uskoren za razlika ot Render, no v momenta draiverite malko po-malko zapochvat da izpolzvat dvumerno harduerno uskorenie (koeto e po-trudno da se postigne ;-D, zashtoto pri 3D ima standarti - OpenGL i doniakude Direct3D, dokato pri 2D e polozhenieto e mnogo raznoobrazno. Pak v skobi - tova e problem i za Maikrosoft - ne mogat da nakarat dostavchitsite na karti da si napishat dobre uskoreni dvumerni draiveri, koeto i obiasniava doniakude preminavaneto kum 3D za 2D operatsii)
Drugata hubost, koiato obache ne vizhdam otriazena v novinata e, che vsichki tezi predlozheniia sa ot stranata na X survura i se vmestvat prekrasno v tekushtata arhitektura na X, kato shte pozvoliat oshte po-dobro izpolzvane na mrezhovata lenta mezhdu klienta i survura.
Tova razshiriavane shte pozvoli burzo mestene na prozortsi, smesvane mezhdu prozortsi i shantavi efekti na minimizirane i maksimizirane kakto v Mac OS X. Eventualno bi moglo da se izpolzva i za mashtabirane na prozortsi podobno na Winamp 3 i 5. (ne sum siguren za mashtabiraneto, no mi se struva suvsem vuzmozhno).
Tezi novovuvedeniia nama da reshat problemite pri preorameriavaneto na prozortsite - v momenta to chesto e na stupki i ima zabaviane ako se izpolzva preorazmeriavane s pokazvane na sudurzhanieto na prozoretsa.
Tova triabva da se razreshi chrez dobra koordinatsiia mezhdu menidzhura na prozortsi i komplekta grafichni obekti - naprimer GTK Ili QT.
Da otbelezha sushto - xft i fontconfig ne sa edno i sushto. Xft e nabor ot API-ta za izobraziavane na shriftove ot strana na klientskata programa. Toi zavisi konkretno ot X. Fontconfig e sistema za otkrivane i izbirane na shrift i populvane na kodiraniia. Sistemata e platformeno nezavisima - mozhe da se nagodi i kum Windows ili da se vgradi v printer.
A i da ne zabravia - iziskvaneto kum pametta ne e tolkova strashno ;-). Pametta, koiato shte se izpolzva e tazi na videokartata (ako tia ne stiga - se preminava kum osnovnata pamet). Tova e chuden nachin da se opolzotvoriat kupishtata megabaiti, koito idvat s vsiaka videokarta i koito se izpolzvat realno edinstveno i samo za suhraniavaneto na teksturi za igrichki i do tozi moment biaha pochti bezpolezni za vsichko ostanalo.
Goliam fen sum na X. I kak da ne sum - napraven e 1985g. i e tolkova guvkav, che vse oshte se vmestva v purvonachalnata ramka i mozhe da se poddurzha suvmestimost.
Hip hip ura i da zhivee mrezhovata prozrachnost, Pakard i Peningtun.
[Otgovori na tozi komentar] Kum: Kum: Kum: Humm... Ot: Ognian Kulev <ogi__at__fmi __tochka__ uni-sofia __tochka__ bg> Na: 5-11-2003@9:59 GMT+2 Otsenka: 1/NeutralenSamo leko poiasnenie kum tova, koeto SHopov kaza. Ne stava duma transformatsiite vinagi da minavat prez OpenGL. Composite manager-a, koito kato window manager-ite e potrebitelska programa, si reshava prez OpenGL li shte go prekarva, ili prez RENDER vuzmozhnostite na draivera, ili kakvoto si iska drugo.
U-u, i kato kaza, che si fen na X-a, chel li si 7-ma glava na Unix-haters handbook[1][2]? Viarno, che e ot predi 10 godini, no arhitekturata si e printsipno sushtata.
[1] http://www.molgen.mpg.de/~wwwutz/Unix_Haters/x-windows.html
[2] http://reactor-core.org/unix-haters-handbook.txt (pulen tekst)
Redaktiran na: 5-11-2003@10:03
[Otgovori na tozi komentar] Kum: Kum: Humm... Ot: Dimitur ZHekov <jimmy__at__is-vn __tochka__ bg> Na: 5-11-2003@13:06 GMT+2 Otsenka: 1/Neutralen"Backing store is usually a decelerator" (V drugi pisma se oplakvat, che na vsichkoto otgore e bugav i nepoddurzhan.)
Taka de, no opravianeto na bs oshte ne e prichina da se napishe tsial nov X survur. Mogat prosto da go opraviat v xf86. A az sum po printsip za bs, kato si pomislia kak mi stoi videopametta nezpolzvana i vmesto tova mi se tovari protsesora. I pod win~1 e sushtoto.
[Otgovori na tozi komentar] Kum: Kum: Kum: Humm... Ot: Ognian Kulev <ogi (a) fmi __tochka__ uni-sofia __tochka__ bg> Na: 6-11-2003@7:52 GMT+2 Otsenka: 1/NeutralenNe e nov survur, a razvivane na segashniia. Puk i tazi rabota s composite manager-a zvuchi dostatuchno iako, za da se pravi :-)
[Otgovori na tozi komentar]
Da ne oburkvame neshtata Ot: al_shopov Na: 5-11-2003@23:44 GMT+2 Otsenka: 1/Neutralen1. Po otnoshenie na smesvane chrez OpenGL - OpenGL NE pozvoliava da vzemete dva prozoretsa i hop da gi smesite po kanal, dori i da gi predstavite kato teksturi. Za da polzvate OpenGL vi triabva kontekst za izobraziavane - v nego se opisvat mnogo neshta - kato se pochne ot trimerni obekti, osvetlenie, nachin na proektsiia i t.n. Dvumernoto izpolzvane na OpenGL se poluchava kato se oprosti situatsiiata i konteksta. Nai-obshto, za da imate takuv kontekst - triabva da si go napravite i da si go gledkate prez edin ili poveche prozortsi. Za da gi smesvate vsichki prozortsi triabva nai-dolniiat prozorets (root-a) kakto i vsichki ostanali da budat v obsht kontekst ili samiiat X survur da izobraziava chrez OpenGL. Tova ne e nevuzmozhno za suvremennite karti na PC-tata i Macintosh-ite obache e nepraktichno za vsichki vidove displei (a H trebe da vurvi na vsichko - i na yutiiata dazhe).
2. Za prenapisvaneto na survura - niama takova neshto. Tova koeto Packard napravi e sobstven klon za razrabotka na H survura (tova e chastta, koiato otgovaria za interpretatsiiata na X protokola) - bez draiveri, moduli, shriftove i t.n. ponezhe Packard niama CVS dostup do ofitsialniia XFree86 puk i se izpokara s dosta ot razrabotchitsite (vsushtnost chast ot tiah reshiha da se izpokarat s nego). Ne e strashna situatsiiata - toi si predostavia razrabotkite obratno za merge-vane. Ama e hubavo da ruchka razrabotchitsite da otvariat protsesa na razrabotka.
3. Dokolkoto razbiram - tova koeto v momenta prisustva v XFree86 i se naricha backing store ne otgovaria po vuzmozhnosti na novovuvedeniiata. TSelta na tekushtiia backing store e da namali vizualnite artefakti pri preorazmeriavane i pokazvane na pone chastichno zakrit prozorets, kakto i namaliavane na iziskvaniiata kum chestotnata lenta. Osven tova - napulno vuzmozhno e da se nashishe draiver, koito ama vuobshe da ne poddurzha backing store, zashtoto ima situatsii, v koito ne mozhe da si pozvolim razhishtenie na pamet - naprimer vuv vgradeni ustroistva. Tekushtiia backing store si e neshto suvsem standartno i prisustva v standarta za X protokola - ne e razshirenie. Ne e zadulzhitelno edin prozorets da ima backing store. Za poveche info - http://ftp.xfree86.org/pub/XFree86/4.2.0/doc/proto.TXT
Novovuvedenieto e da se poddurzha zadulzhitelno chrez razshirenie kopie na vseki prozorets i mozhe da se obrabotva v survura. T.e. ne samo sluchaia da mestim i pokazvame prozoretsa, a da go pravim poluprozrachen, da si go animirame, slagame sianka i t.n. Radost za okoto i goliam trud za tezi, koito triabva da napraviat neshto, koeto da e polezno ;-) Tiia raboti shte se upravialvat ot t.n. composing manager (koito mozhe da e i menidzhura na prozortsi). Klientite mogat da upravliavat composing manager-a chrez satndartni zaiavki na X protokola.
Eto edin tipichen primer kudeto backing store ne e dostatuchen - poluprozrachnite terminali. Pri tiah vsushtnost niama poluprozrachnost - terminalut si prihvashta root prozoretsa sam, tegli kartinkata po mrezhata, smesva ia ia s tsviat ia s niakoia prostotiia i pak ia tupche obratno po mrezhata - uzhas. Sega tova smesvane shte se pravi ot X survura i niama razni kartinki da hvurchat po mrezhata. Kato si mestim terminalcheto i kartinkata otzad shte se promenia vednaga, a ne na stupki i sus zabaviane.
Qsno e, che tova ne izmestva backing store mehanizma, no go pravi izlishen pri nalichieto na dostatuchno pamet.
Sistemata e napulno suvmestima s tekushtoto polozhenie - ako niama menidzhur za kompozirane - pak si pravim stekcheta s prozortsi koito sa napulno neprozrachni. Kato stranichna zabelezhka - v momenta mozhe da se praviat pulna prozrachnost na chast ot prozorets chrez razshirenieto XShape (suzdadeno ot Packard) ili polzvaneto na overlay (tova e ekzotika).
4. CHel sum Unix Haters Handbook osobeno v chastta za X. Ama hich ne sum suglasen, che polozhoenieto e sushto tolkova zle kolkoto edno vreme. Da zpochnem s tova, che golemite kritiki sa ot Zavinski, puk toi e osnovniia haker za H skriinseivurite. Vtoro - ima ama edna absolyutna nagla luzha, che H bil losh shtoto niamal standarten komplekt grafichni obekti. Istinata e, che vsichki grafichni sistemi obvurzani s grafichni obekti umriaha za po-malko ot 10 godini. I tuk vklyuchvam kakto Windows 3.h po tova vreme i Mac OS Classic (a da ne govorim, che i Longhorn napulno shte zameni tekushtite linii na Windows 9x i NT). Kakuv uzhas shteshe da e da sme obvurzani s Motif (ili Athena)- pfu. Hakerite zad H sa kazali - ne znaem kak da pravim grafichni obekti i zatova neka vseki da si pravi kakvoto iska, a ne da zatormoziavame sveta s nashite prostotii.
UHH e nai-polezna dnes kato napomniane, che Unix ne e bil nai-dobrata sistema i ne e idealen (po platonovsi). Tova koeto go otlichava e, che mozhe da bude podobriavan i ima nadezhda za nego (za razlika ot drugi sistemi)
UHH dnes e mnogo daleche ot realnite problemi.
Da ne govorim, che chesto avtorite sa Unix hakeri, koito kritikuvat i s chuvstvo za humor. Mnogo se nadiavam Maikrosoft da izbachkat edna Linux Haters Handbook i da pochnem da debugvame, debugvame i t.n.
al_shopov
[Otgovori na tozi komentar]
|
|
|
|
|
|
|
|