«« ( Date ) »» // «« ( Thread ) »» // nastava - 2003

Re: racunarska grafika - velike slike

by Dimitrije Jankovic
sreda, 22. oktobar 2003 - 09:13.

Hvala na obilju informacija. Sto se tice Qt-a, u ovom konkretnom slucaju
(minut i po za ucitavanje slike) se radi na Windows-u, mada da budem iskren
moguce da Qt mora da se posebno konfigurise ne bi li koristio directX i
ostale mogucnosti ubrzavanja rada sa grafikom tako da to nisam siguran.
Slazem se da je Qt prilicno amaterski napisan i to ne samo te stvari vezane
za slike nego uopste podrska za sve sistemske stvari su UZAS. Na kraju
krajeva, ipak je to samo jos jedan portabilan GUI framework. Sto se tice
ACDSee-a, stvar je u tome sto on napise da je ucitao 100% slike i to sve za
5, 6 sekundi, iako prikazuje samo mali deo te slike. Sasvim je moguce da
prvo ucita te blokove koji su prikazani, pa tek onda ostalo, a da napise kao
da je ucitao celu. Medjutim, malo sam ga razbijao, i primetio sam da kad se
startuje otvaranjem te slike (nije imao mogucnost da je pre toga u pozadini
ucita), memory usage mu skoci za nekih 150MB u roku od par sekundi sto bi
znacilo da on ipak stigne da uradi dekompresiju za tako kratko vreme. Onda
se postavlja pitanje sta to kog djavola radi Qt-ova klasa QImage ako sam
algoritam dekompresije za tu konkretnu sliku traje 5 sekundi.

Dimitrije

----- Original Message -----
From: "Mihailo Velkovski" <mvelkovski@fastpost.biz>
To: <djankov@galeb.etf.bg.ac.yu>
Sent: Wednesday, October 22, 2003 12:49 AM
Subject: Re: [nastava] racunarska grafika - velike slike


> > Da li ima neko ko je slusao racunarsku grafiku ili zna nesto vise o
> > algoritmima za ekstremno brz rad sa ekstremno velikim slikama
>
> Jesam pratio/delimicno slusao, ali na kursu jako malo ima price na temu
> brzih algoritama... Samo elementarno (za crtanje 2d primitiva i osnovni
> 3d, bez sencenja) Mislim da niko nije ni spomenuo formate slika... rastera
> kako ih Tartalja zove.
>
> > (tipa JPEGovi velicine nekoliko mega koji kad se dekompresuju u
> > memoriji zauzimaju po nekoliko stotina mega). ACDSee npr. takvu
> > jednu sliku ucita za neki 6 do 7
> > sekundi i skrolovanje mu je relativno glatko cak i pri velikom koraku.
Sad
> > skrolovanje nije problem ako se cela slika drzi u memoriji deompresovano
sto
> > ACDSee radi, ali je tako kratko vreme ucitavanja veoma dobro.
>
> Kod JPGa postoji vise verzija samog formata, u osnovi onaj klasican koji
je recimo
> spominjan na PJMP, mada je to algoritam kompresije i mislim da je isti za
sve varijante.
> Takodje postoji i progresivni JPG, gde se cela slika ucitava iz vise
prolaza.
>
> U prvoj varijanti oni blokovi 64x64 su nezavisni, pa uz ucitavanje i
dekodovanje hedera,
> eventualno palete ako nije 24bit i ostalih informacija vezanih za celu
sliku, ne vidim zasto
> bi bio problem da budu dekodovani samo blokovi koji su na ekranu, uz
recimo jos neke
> susedne.
>
> > Na primer,
> > Qt-ova klasa QImage istu sliku ucitava i do minut. Zanima me da li
postoji
> > neka razlika u algoritmima dekompresije ili se jednostavno koristi neka
> > low-level metoda tipa ucitavanje u pozadini. Ako neko zna nesto vise o
tome
> > nek mi napise email ili odgovori na mailing listu. Hvala.
>
> Ako je rec o Qt biblioteci (pod linuxima), cenim da jeste, to moze da
bude problem...
> Pod windowsima svi ti programi koriste directX i uz odgovarajuce drajvere
za karticu
> koriste se sve moguce HW akceleracije na kartici, takodje i funkcije su
vrlo brze i
> optimizovane. Ne mogu da tvrdim, ali mislim da su te klase u Qt-u uradjene
prilicno
> amaterski, poput recimo Borlandovih BGI biblioteka, takodje i da ne
koriste sve resurse
> i mogucnosti bilo kojih novijih kartica...
>
> Nemoj pogresno da me razumes, nemam nista protiv Linuxa ! , naprotiv... :)
>
> Sto se tice samog algoritma za JPG kompresiju/dekompresiju, takav kakav
je, ne postoje tu
> neke revolucionarne ideje da to brze radi. Naravno, svaka realizacija moze
manje ili vise da
> bude brza. Ne treba sumnjati da su te rutine u ACDsee-u ekstremno
optimizovane i verovatno
> koriste kojekakve trikove, neko baferovanje na disku je neizbezno.
>
> Postoji i opcija da se baferuje prethodna slika koja je prikazana, kao i
da se pozadinski
> ucitava naredna slika. Rutine za prikaz osnovnih formata su smestene u
jedan plugin i ne
> mogu da se eksterno konfigurisu. Mislim da mogu da se kupe (sors)...
>
> Pozdrav,
> Mihailo.
>
>