Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 2. březen 2008, 11:05:40 Předmět: SDL - akcelerace |
|
|
Zdravím,
chci se jenom ujistit, že SDL nepodporuje HW akceleraci. Je to tak?
Konkrétně 2D vykreslování a zvuk.
Jaký je vlastně rozdíl mezi DDraw/DSound a SDL z hlediska přístupu/použití HW? (I z hlediska historie DDraw.)
Díky,
frca
PS: Doufám, že mi tu nikdo nezačne radit používat pro 2D vykreslování OpenGL To je úplně jiná otázka, než kterou teď řeším. |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 2. březen 2008, 12:03:37 Předmět: |
|
|
No DirectX podporuje HW akceleraci. Takže pokud ji SDL neumí, tak docela velkej Ale něco mi říká, že SDL stejně na kreslení jde přes DirectX (jak taky jinak?). _________________ Mám strach |
|
Návrat nahoru |
|
|
Weny Sky
Založen: 28. 07. 2007 Příspěvky: 241
|
Zaslal: 2. březen 2008, 12:09:18 Předmět: |
|
|
SDL 1.2 na Windows mappuje funkce DDraw z DirectX 7. Takze z toho vyplyva, ze pristup k HW je v SDL i DDraw naprosto stejny.
Jinak v DDraw by mely byt akcelerovany transformace spritu(rotace/zmenseni/zvetseni ...) ale akcelerace blendingu urcite ne.
Jinak jeste schema SDL
|
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 2. březen 2008, 13:50:11 Předmět: |
|
|
SDL, pokud je tak zkompilovano (to vychozi tak zkompilovane je), vola funkce z DirectDraw a DirectSound. Tzn. to, ze tam neni akcelerovana rotace, zvetseni/zmenseni (polopruhlednost/blending DDraw nikdy neumelo - a pruhlednost podle klicove barvy SDL pres DDraw akceleruje), je dano tim, ze to neni podporovano ovladacem graficke karty v DirectDraw (vyrobci grafik od toho upustili, protoze jde o zastarale API - naposled jsem tohle videl akcelerovane v DirectDraw na NVidia Riva128 (NV3) pred 10 lety).
Uz tehdy se proste vyrobci grafik rozhodli, ze kdo chce tohle akcelerovane, musi pres 3D schopnosti jejich karet (BTW existuji 2D knihovny, ktere interne vykresluji pres 3D, takze ty to akcelerovane maji). Mimoto nevidim problem se naucit zaklady nejakeho 3D API - i drivejsi neprogramatori se to dokazali naucit, a to i z mych starych her (C# + Managed DirectX: Mars Racer, C + SDL + OpenGL: Ljaguska) _________________ Award-winning game developer |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 2. březen 2008, 18:19:02 Předmět: |
|
|
Proč je teda zvuk v SDL audio vždycky nějak zpožděný? Latence by měla být vždycky co nejmenší a ne dělat nějaké kompromisy, jak je to běžné v SDL. |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 2. březen 2008, 18:30:49 Předmět: |
|
|
opozdenie zvuku zavisy od velkosti buferu. pri 4000 vzorkach v buferu a 22kHz to dokaze byt az dve desatiny sekundy. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 2. březen 2008, 20:04:06 Předmět: |
|
|
To jo, ale DSound toto zpoždění nemá, ne? Jinak dvě desetiny je strašně moc (to se asi shodneme). Člověk má schopnost vnímat daleko menší časové rozdíly. |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 2. březen 2008, 20:54:22 Předmět: |
|
|
no ale zase pouzit 4096 bajtovy bufer je zase extrem. pouzitelna hodnota je 512 vzoriek. da sa este ist aj na 256 ale tam uz hrozi ze to prestane stihat. opozdenie sa rata (samples*1000)/freq takze pri 512 a 44.1kHz je to len stotina sekundy. a myslim ze tento budefer a teda aj opozdenie je aj pri DSound. predsa len bezne karty nemaju ASIO
http://pctuning.tyden.cz/index.php?option=com_content&task=view&id=10000&Itemid=49&limit=1&limitstart=15 _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 3. březen 2008, 10:09:49 Předmět: |
|
|
Frca, SDL je ve Windows jen wrapper na funkce DSound (si to muzes ve zdrojacich zkontrolovat), takze uplne stejny chovani bys mel i s DSound, pokud bys nastavil sound buffer moc velky.
Mimoto ti nic nebrani pouzit primo DSound, poku ti staci podporovat jen Windows. I kdyz se SDL ostatni takove problemy nemaji, SDL je vyuzivano treba v Unreal Tournament 2004 ve verzi pro Linux a MacOS. _________________ Award-winning game developer |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 3. březen 2008, 11:11:42 Předmět: |
|
|
Díval jsem se zběžně na nějaké tutoriály na DSound, ale délka bufferu se tam nikde nenastavuje. Proto si myslím, že SDL audio funguje trochu jinak. I když je SDL audio jenom obalený DSound, tak i tím obalením se dá dost zprasit. Nevím, není to případ SDL audia? (Zdrojáky jsem zatím nestudoval.) |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 3. březen 2008, 12:43:54 Předmět: |
|
|
_________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 4. březen 2008, 11:55:53 Předmět: |
|
|
Jakou má DSound odezvu v praxi na běžných integrovaných zvukovkách? |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 4. březen 2008, 14:13:53 Předmět: |
|
|
http://www.guitar-fxbox.com/sctest.htm a vychdza tam ze oneskorenie je na urovni 10ms co je ten 512 vzorkovy buffer. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
|