860
|
1
|
|
2 Tartalom
|
|
3 ~~~~~~~~
|
|
4
|
1099
|
5 1. Előszó
|
860
|
6 2. Mi az a DGA
|
1099
|
7 3. Felbontásváltás
|
|
8 4. DGA és MPlayer
|
|
9 5. A DGA driver képességei
|
|
10 6. Sebesség
|
|
11 7. Ismert hibák
|
|
12 8. Beepítendő dolgok
|
860
|
13
|
1099
|
14 A. Néhány modeline
|
860
|
15
|
|
16
|
|
17
|
1099
|
18 1. Előszó
|
860
|
19 ~~~~~~~~~
|
1099
|
20 Ez a dokumentum néhány szóban elmagyarázza, hogy általában véve mi is az a
|
|
21 DGA, és mit tud az MPlayerben (és mit nem).
|
860
|
22
|
|
23 2. Mi a DGA?
|
|
24 ~~~~~~~~~~~~
|
|
25
|
1099
|
26 A DGA szó a Direct Graphics Access rövidítése, és egy olyan módszert takar,
|
|
27 amivel a program az X szerver kikerülésével közvetlenül írhat a framebuffer
|
|
28 memóriába. Szaknyelven szólva ez a framebuffer memóriának a processz
|
|
29 területére történő lapozásával történik. Ezt a kernel csak root jogosultsággal
|
|
30 engedi. Ez történhet root-ként történő bejelentkezéssel, vagy a suid bit
|
|
31 beállításával az mplayer programon (NEM ajánlott!).
|
860
|
32
|
1099
|
33 A DGA-nak két verziója van: a DGA1-et az XFree 3.X.X használja, a DGA2
|
|
34 pedig az XFree 4.0.1 óta létezik.
|
860
|
35
|
1099
|
36 A DGA1 csak a fent leírt közvetlen hozzáférést nyújtja. A felbontásváltáshoz
|
|
37 itt szükség van az XVidMode kiterjesztésre.
|
860
|
38
|
1099
|
39 A DGA2 tartalmazza az XVidMode tudását, továbbá engedélyezi a színmélység
|
|
40 megváltoztatását. Így lehetséges, hogy egy 32 bites mélységű X szervert
|
|
41 átváltsunk 15 bitesbe, vagy fordítva.
|
860
|
42
|
1099
|
43 A DGA-nak van néhány hátránya. Valamelyest függ a grafikus chiptől és ennek
|
|
44 X-es driverétől, ezért nem minden rendszeren működik ...
|
860
|
45
|
|
46
|
1099
|
47 3. Felbontásváltás
|
860
|
48 ~~~~~~~~~~~~~~~~~~
|
1099
|
49 A DGA driver képes felbontásváltásra. Ezzel kikerülhető a (lassú) szoftveres
|
|
50 scale, ugyanakkor teljesképernyős lesz a lejátszás. Ideális esetben pontosan
|
|
51 egyező felbontást választ, de csak azon videomódok közül tud választani,
|
|
52 ami az /etc/X11/XF86Config fileban szerepel. Ezeket úgynevezett modeline-okkal
|
|
53 definiáljuk, és a videokártya képességeitől függenek. Az X szerver ezt
|
|
54 a config file-t nézi át induláskor, és kikapcsolja mindazokat, amiket a
|
|
55 kártya nem tud. A fennmaradó módok az X11 log-jában találhatóak:
|
860
|
56 /var/log/XFree86.0.log
|
1099
|
57 Az A függelékben néhány modeline példa található.
|
860
|
58
|
1099
|
59 4. DGA és MPlayer
|
860
|
60 ~~~~~~~~~~~~~~~~
|
|
61
|
1099
|
62 Az MPlayer-ben két helyen lehet DGA-t használni: az SDL driverben
|
|
63 (-vo sdl -sdl dga), valamint a DGA driverben (-vo dga). A fentiek mindkettőre
|
|
64 igazak; a következő néhány részben elmagyarazom, hogy is működik az MPlayer
|
860
|
65 DGA drivere.
|
|
66
|
|
67
|
1099
|
68 5. A DGA driver képességei
|
860
|
69 ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
70
|
1106
|
71 A DGA driver meghívása a -vo dga parancssori opció megadásával történik.
|
|
72 Az alapértelmezett magatartás szerint a video méretéhez legközelebb eső
|
|
73 felbontásba vált. Figyelmen kívul hagyja a -vm es -fs kapcsolókat
|
|
74 (felbontásváltás és teljesképernyő) - mindig az adott felbontás lehető legjobb
|
|
75 kihasználására törekszik, így egy árva CPU ciklusnak sem kell fordítódnia a
|
|
76 kép nagyítására.
|
|
77 Ha nem tetszik a mód amit kiválasztott, megadhatod hogy az -x es -y által
|
|
78 kijelölt mérethez válasszon felbontást.
|
|
79 A -v opció megadásaval a DGA driver többek között kiírja az XF86Config
|
|
80 file-d által elérhető felbontásokat.
|
|
81 DGA2-vel megadhatod a használandó színmélységet is, a -bpp opcióval.
|
|
82 Használható: 15, 16, 24 es 32. A hardware-edtől függ, hogy ezek közül melyeket
|
|
83 használhatod, valamint hogy (lassú) konverzió lehetséges-e.
|
|
84
|
|
85 Ha szerencséd van és van még elég memóriád hogy a kép mégegyszer elférjen,
|
|
86 akkor a DGA driver doublebuffering-et fog alkalmazni, ami sokkal folyamatosabb
|
|
87 lejátszást eredményez.
|
|
88
|
|
89
|
|
90 6. Sebesség
|
|
91 ~~~~~~~~~~~
|
|
92 A DGA framebuffer használatával legalább olyan gyors képet kapunk mint X11-el,
|
|
93 plusz teljeskepérnyős mód. A százalékos CPU használati értekeket amiket
|
|
94 MPlayer kiír óvatosan kezeljuk, mert pl az X11 drivernél nem tartalmazzák
|
|
95 az X szerver által a megjelenítéshez használt időt. Kapcsolj egy terminalt
|
|
96 a soros portodra es indíts egy top-ot hogy lásd valójában mi történik.
|
|
97
|
|
98 Általánosan szólva a DGA sebességnövekedése az X11-hez képest erősen függ
|
|
99 a videokártyádtól, és annak driverétől.
|
1099
|
100
|
1106
|
101 Ha lassú a rendszered, jobb ha 15 vagy 16bpp-s színmélységet használsz,
|
|
102 mivel ezek a 32bites mód memóriaigényének csak a felét követelik.
|
|
103
|
|
104 A 24bites mélység használata akkor jó, ha a kártyád csak 32bites módot
|
|
105 támogat, mivel így 25%-al kevesebb adatnak kell átjutnia, a 32/32bites
|
|
106 módhoz képest.
|
|
107
|
|
108 Már láttam AVI fileokat lejátszódni Pentium MMX 266-on. AMD K6/2 CPU-k
|
|
109 400Mhz-en vagy afölött már jók.
|
|
110
|
|
111 7. Ismert hibák
|
|
112 ~~~~~~~~~~~~~~~
|
|
113
|
|
114 Nos, néhány XFree fejlesztő szerint a DGA nagy szörnyűség. Szerintük nem
|
|
115 érdemes használni. Az implementációja nem minden driverben tökeletes.
|
|
116
|
|
117 o XFree 4.0.3-mal es nv.o driverrel van egy bug ami furcsa szineket eredményez
|
|
118 o az ATI driverrel egynél többször kell módot váltani miután a DGA használat
|
|
119 befejeződott
|
|
120 o némely driverek egyszerűen nem tudnak visszaváltani a normális felbontásba
|
|
121 (használd a Ctrl-Alt-Keypad +, - billentyűket)
|
|
122 o néhány driver furcsa szineket jelenít meg
|
|
123 o mások hazudnak arról hogy mennyi memoriát map-elnek be, így vo_dga
|
|
124 nem fog doublebuffering-et használni (SIS?)
|
|
125 o megint mások nem adnak vissza egyetlen videomódot se. Ebben az esetben
|
|
126 a DGA driver leáll, valami nonszensz üzenettel mint pl 100000x100000 vagy
|
|
127 ilyesmi ...
|
|
128 o az OSD csak doublebuffering-el működik
|
|
129
|
|
130 8. Beépítendő dolgok
|
|
131 ~~~~~~~~~~~~~~~~~~~~
|
|
132
|
|
133 o az új X11 render interface használata OSD-hez
|
|
134 o hol van a TODO listám ???? :-((((
|
860
|
135
|
|
136
|
1099
|
137 A. Néhány modeline
|
860
|
138 ~~~~~~~~~~~~~~~~~~
|
|
139 Section "Modes"
|
|
140 Identifier "Modes[0]"
|
907
|
141 # 800x600 @ 60 Hz, 37.8 kHz hsync
|
|
142 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
|
860
|
143 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
|
|
144 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
|
907
|
145 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
|
146 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
|
860
|
147 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
|
907
|
148 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
860
|
149 EndSection
|
|
150
|
|
151
|
1099
|
152 Ezek a bejegyzések működnek az én Riva128-asomon, az nv.o driverrel.
|
860
|
153
|
|
154 Acki (acki@acki-netz.de, www.acki-netz.de) 17.5.2001
|
|
155
|
|
156
|