Portál AbcLinuxu, 9. května 2025 21:57

Dotaz: Hardwarově akcelerované kreslení obrázků

Wan-To avatar 20.7.2007 10:36 Wan-To | skóre: 16 | blog: WanBlog | Čelákovice
Hardwarově akcelerované kreslení obrázků
Přečteno: 589×
Odpovědět | Admin
Zdravím,

marně se snažím přijít na způsob, jak pod Linuxem hardwarově kreslit obrázky (pixmapy). Zkoušel jsem blitting pomocí SDL a kreslení pixmap přes OpenGL. Bohužel, ani jedno nebylo hardwarově akcelerované.

Jediný způsob, jak se mi podařilo HW akcelerace dosáhnout, bylo kreslení v Javě. Bohužel aplikace, pro kterou akceleraci potřebuji, píšu v C++, takže Java mi nepomůže. Každopádně tohle je signál, že akcelerace jde pod Linuxem nějak získat, když to Java dokáže.

Nevíte tedy o nějakém způsobu, jak si v C (resp. C++) pod Linuxem vynutit HW akcelerované kreslení pixmap, a to nejlíp pomocí OpenGL, pokud to jde?

Díky.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.7.2007 11:19 PMD
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím, jestli ti to pomůže, ale Ccairo by mělo mít experimantální backend pro OpenGL. Jak je to (ne)použitelné bohužel nevím.
20.7.2007 11:21 PMD
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
oprava: Cairo :)
20.7.2007 11:53 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jake kresleni obrazku mas na mysli? Pokud jednoduchy bitblit, tak na to ti staci Xlib, asi skoro vsude to bude hardwarove akcelerovane. Pokud chces bitblit s alphablendingem, pak mas dve (bezne) moznosti - OpenGL a Xrender. Zavisi na konkretnim driveru (a konfiguraci), ktera z tech variant bude akcelerovana (v idealnim pripade obe).
Fuky avatar 20.7.2007 12:04 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
Odpovědět | | Sbalit | Link | Blokovat | Admin

Moc pěkné seriály, které Ti pomohou začít:

Grafická knihovna OpenGL
OpenGL a nadstavbová knihovna GLU

Jak jsi přišel na to, že vykreslování pixmap, přes OpenGL nebylo HW akcelerované? Pokud Ti funguje na grafické kartě akcelerace (test tuxracer), tak to HW akcelerované bylo, pokud ne, tak se použila "SW akcelerace" => šíleně pomalé.

-- RÁMO: psí tábor , ETriatlon: Výuka plavání
Wan-To avatar 20.7.2007 12:16 Wan-To | skóre: 16 | blog: WanBlog | Čelákovice
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
3D akcelerace (TuxRacer) mi funguje; s tou problém nemám. Horší je to s těmi pixmapami, které se tahají z RAMky (nejsou v grafické paměti) a kreslení je šíleně pomalé.

Jak jsem na to přišel? Pustil jsem si benchmark v OpenGL (kreslení pixmap) a pak v Javě (kreslení pomocí AWT). Benchmark v Javě naměřil asi 10x větší výkon (resp. počet nakreslených obrázků za určitou jednotku času) než ten v OpenGL, takže jsem usoudil, že na té akceleraci pomocí OpenGL není něco v pořádku.

Podle mě by stačilo pixmapu nějak nahrát do grafické paměti podobně jako, jako se nahrávají textury pomocí glTexImage2d, jenže nevím, jak.
20.7.2007 12:18 thingie
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to rozumné? Pokud vím, tak OpenGL ti nezaručí přesné vykreslení na pixel, ale jen něco přibližného. Což nemusí být úplně moudré.
Bluebear avatar 20.7.2007 15:17 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
Odpovědět | | Sbalit | Link | Blokovat | Admin
SDL se snaží používat hardwarovou akceleraci 2D grafiky, pokud může. Pokud ji na Tvém stroji nepoužívá, hledal bych chybu buď v nastavení X, nebo v konfiguraci SDL - například v Gentoo je třeba akceleraci explicitně povolit při kompilaci balíčku SDL.
To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
Wan-To avatar 20.7.2007 15:32 Wan-To | skóre: 16 | blog: WanBlog | Čelákovice
Rozbalit Rozbalit vše Re: Hardwarově akcelerované kreslení obrázků
Aha. Nevíš, jakým flagem se tam podpora akcelerace přidává?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.