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
|
1208
|
63 (-vo sdl:dga), valamint a DGA driverben (-vo dga). A fentiek mindkettőre
|
1099
|
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
|
1254
|
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ő
|
1262
|
73 felbontásba vált. Figyelmen kívül hagyja a -vm és -fs kapcsolókat
|
1254
|
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.
|
1262
|
77 Ha nem tetszik a mód amit kiválasztott, megadhatod, hogy az -x és -y által
|
1254
|
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
|
1262
|
80 file-od által elérhető felbontásokat.
|
|
81 DGA2-vel megadhatod a használandó színmélységet is a -bpp opcióval.
|
|
82 A megadott szám lehet: 15, 16, 24 és 32. A hardware-edtől függ, hogy ezek
|
|
83 közül melyeket használhatod, valamint, hogy (lassú) konverzió lehetséges-e.
|
1106
|
84
|
1254
|
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.
|
1106
|
88
|
1254
|
89 A doublebuffering azt jelenti, hogy a video következő képkockájának kirajzolása
|
|
90 a videomemórián kívül történik, amíg az előző képkocka kirajzolódik. Amint
|
|
91 elkészül, a grafikus kártya megkapja ennek a memóriaterületnek a címét, és azt
|
|
92 jeleníti meg, ami ott van. Mindeközben a másik memóriaterület újra feltöltődik.
|
1157
|
93
|
1254
|
94 A doublebuffering a -double opcióval kapcsolható be és a -nodouble opcióval ki.
|
|
95 Jelenleg alapállapotban ki van kapcsolva. Ha a DGA drivert használod, csak
|
|
96 doublebuffering esetén lesz OSD-d. Viszont, ha bekapcsolod az nagy
|
|
97 teljesítménycsökkenéssel járhat (a K6-II+ 525 gépemen plusz 20% CPU idő!),
|
|
98 függően a videokártyád DGA driverértől.
|
1157
|
99
|
|
100
|
1106
|
101
|
|
102 6. Sebesség
|
|
103 ~~~~~~~~~~~
|
|
104 A DGA framebuffer használatával legalább olyan gyors képet kapunk mint X11-el,
|
1262
|
105 plusz teljeskepérnyős módot. A százalékos CPU használati értekeket, amiket az
|
|
106 MPlayer kiír óvatosan kezeljuk, mert pl. az X11 drivernél nem tartalmazzák
|
|
107 az X szerver által a megjelenítéshez használt időt. Kapcsolj egy terminált
|
|
108 a soros portodra és indíts egy top-ot, hogy lásd valójában mi történik.
|
1106
|
109
|
|
110 Általánosan szólva a DGA sebességnövekedése az X11-hez képest erősen függ
|
1262
|
111 a videokártyádtól és annak driverétől.
|
1099
|
112
|
1262
|
113 Ha lassú a rendszered, jobb, ha 15 vagy 16bpp-s színmélységet használsz,
|
|
114 mivel ezek a 32bites mód memóriasávszélességének csak a felét igénylik.
|
1106
|
115
|
|
116 A 24bites mélység használata akkor jó, ha a kártyád csak 32bites módot
|
|
117 támogat, mivel így 25%-al kevesebb adatnak kell átjutnia, a 32/32bites
|
|
118 módhoz képest.
|
|
119
|
1262
|
120 Már láttam (divx) AVI file-okat lejátszódni Pentium MMX 266-on. AMD K6/2 CPU-k
|
1106
|
121 400Mhz-en vagy afölött már jók.
|
|
122
|
|
123 7. Ismert hibák
|
|
124 ~~~~~~~~~~~~~~~
|
|
125
|
|
126 Nos, néhány XFree fejlesztő szerint a DGA nagy szörnyűség. Szerintük nem
|
|
127 érdemes használni. Az implementációja nem minden driverben tökeletes.
|
|
128
|
1262
|
129 o XFree 4.0.3-mal és nv.o driverrel van egy bug, ami furcsa színeket eredményez
|
|
130 o az ATI driverrel egynél többször kell módot váltani, miután a DGA használat
|
1106
|
131 befejeződott
|
|
132 o némely driverek egyszerűen nem tudnak visszaváltani a normális felbontásba
|
|
133 (használd a Ctrl-Alt-Keypad +, - billentyűket)
|
1262
|
134 o néhány driver furcsa színeket jelenít meg
|
|
135 o mások hazudnak arról, hogy mennyi memóriát map-elnek be, így vo_dga
|
1106
|
136 nem fog doublebuffering-et használni (SIS?)
|
|
137 o megint mások nem adnak vissza egyetlen videomódot se. Ebben az esetben
|
1262
|
138 a DGA driver leáll valami nonszensz üzenettel mint pl 100000x100000 vagy
|
1106
|
139 ilyesmi ...
|
|
140 o az OSD csak doublebuffering-el működik
|
|
141
|
|
142 8. Beépítendő dolgok
|
|
143 ~~~~~~~~~~~~~~~~~~~~
|
|
144
|
|
145 o az új X11 render interface használata OSD-hez
|
|
146 o hol van a TODO listám ???? :-((((
|
860
|
147
|
|
148
|
1099
|
149 A. Néhány modeline
|
860
|
150 ~~~~~~~~~~~~~~~~~~
|
|
151 Section "Modes"
|
|
152 Identifier "Modes[0]"
|
1262
|
153 # 800x600 @ 60 Hz, 37.8 kHz hsync
|
907
|
154 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
|
860
|
155 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
|
|
156 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
|
1262
|
157 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
907
|
158 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
|
860
|
159 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
|
907
|
160 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
860
|
161 EndSection
|
|
162
|
|
163
|
1099
|
164 Ezek a bejegyzések működnek az én Riva128-asomon, az nv.o driverrel.
|
860
|
165
|
1254
|
166 B. Bugreport
|
|
167 ~~~~~~~~~~~~
|
|
168
|
|
169 Ha bármi problémád van a DGA driverrel, bátran jelezd nekem (e-mail címem lásd
|
|
170 alább). Ehhez -v opcióval futtasd mplayert, és a vo_dga: kezdetű sorokat
|
|
171 küldd el nekem.
|
|
172
|
|
173 Kérlek mellékeld az általad használt grafikus kártya és processzor típusát,
|
|
174 valamint az X11 verzióját. Az X11 driver module (XF86-Config file-ban) is
|
|
175 segíthet. Köszönöm!
|
|
176
|
|
177
|
|
178 Acki (acki@acki-netz.de, www.acki-netz.de) 18.06.2001
|
860
|
179
|
|
180
|