[ Ivan Dimkovic @ 07.09.2013. 23:06 ] @
Elem, bio juce u USA pa iskoristio priliku i uzeo Nexus 10, zbog visoke rezolucije (10 inca, 2560x1600), posto sam kevi pre nekoliko meseci dao iPad.

Meni tablet sluzi za 2 stvari - citanje PDF-ova i surf.... i visoka rezolucija mi se svidja upravo zbog PDF-ova.

PDF-vi koje imam su naucni radovi i knjige (IT, neuroscience, itd...) koje cesto imaju gomilu dijagrama i cesto znaju da budu prilicno veliki (nekad i koju stotinu MB).

E sad, prvo sam probao built-in PDF reader, koji mi je bio jako los.

Onda sam skinuo/kupio:

- Adobe Reader
- ezPDF Reader
- RepliGo Reader

Svi oni su ili blago do umereno krzavi u skrolu / zumu kada dodju do neke stranice sa kompleksnom grafikom, ili su "glatki" uz placanje ceha kroz privremeno smanjivanje rezolucije (par sekundi vidite "kockice") prilikom skoro svakog pokreta prstom.

Najbolje se pokazao, neocekivano, Adobe Reader - koji ne smanjuje rezoluciju tokom skrola, ali "krzne" ako dolazite na stranu sa slikama.

---

E, sad, moje pitanje je sledece - da li neko ko se razume u Android programiranje moze da mi objasni zasto na prilicno jakoj tablet platformi kao sto je Nexus 10 i dalje nije moguce imati kompletno smooth citanje PDF-ova?

iPad je tu drasticno bolji - iPad sam koristio skoro godinu dana (sa nekim placenim PDF readerom, sad se vise ne secam imena) i ugodjaj u citanju PDF-ova je bio bolji uz nulu krzanja, eventualno na vrlo kompleksnim stranicama je privremeno bila smanjena rezolucija (ali manje intruzivno i manje cesto nego na Android pregledacima).

Ono sto mene interesuje da li je problem sistemske prirode ili aplikacije nisu napisane tako da koriste najnovije Android API-je. Secam se da je Google prosle godine valjda izbacio nove interfejse koji aplikacijama omogucavaju da koriste GPU surface-e za GUI, ako me pamcenje dobro sluzi.

Da ne bude da ja tu nesto ciljam na Android - igrao sam se malo pre par nedelja sa nekim Windows 8 tabletom (ne RT, vec "pravi" Windows!) - i ugodjaj je drasticno losiji od Androida (a o iPadu i da ne pricam).

Toliko je jadno uradjena cela navigacija da Windows tablet ne bi preporucio ni najgorem neprijatelju. Da ima malo pameti u MSFT-u, sutra bi trebalo da prestanu sa Metro fail-om da se ne brukaju vise.
[ the_tosic @ 07.09.2013. 23:38 ] @
Nije odgovor na pitanje ali probaj Mantano ebook reader.
Meni najvise odgovara za citanje pdf-a, ima finu navigaciju i dobro je odradjen crop.

Za sve ostalo je djubre najgore. Npr kada iz Chrome-a skidan pdf i kazem da skine mantanom, OBAVEZNO ga spuca...
[ cyofee @ 08.09.2013. 15:54 ] @
Na iPadu koristim Dropbox za PDFove, možda je dobar i na Androidu.
[ dejanet @ 08.09.2013. 17:58 ] @
Mogu da preporucim PDF view-er iz OfficeSuite 7-ce i Acrobat Reader.

Kod prvog sve deluje bolje jer se strane menjaju sa desna na levo, tako da ima manje scroll-a i manje 'krzanja'. U officesute-u pdf reader nije primarna stvar vec vrlo dobro handle-ovanje office dokumentima, ali se hvale kako su update-vali pdf engine.

Vredi probati:
https://play.google.com/store/...or.office_registered&hl=en

Citat:
Dimkovic:E, sad, moje pitanje je sledece - da li neko ko se razume u Android programiranje moze da mi objasni zasto na prilicno jakoj tablet platformi kao sto je Nexus 10 i dalje nije moguce imati kompletno smooth citanje PDF-ova?


Mislim da je u pitanju cache strategija koja vazi za razlicite uredjaje, mislim da se ne menja dinamicki u zavisnosti od hardvera, vec je u pitanju 'najmanji zajednicki sadrzalac'.

Meni licno na novom nexusu 7 (2013), stvari po ovom pitanju deluju prilicno dobro.
[ madamov @ 09.09.2013. 07:54 ] @
Citat:
cyofee:
Na iPadu koristim Dropbox za PDFove, možda je dobar i na Androidu.


Mislim da to nema veze, Dropbox sigurno koristi WebKit API da prikaže PDF, kao da si PDF otvorio iz Maila ili Safarija. Nativno PDF otvaraju Acrobat Reader i PDFPen Pro sigurno, za druge ne znam.
[ ZaMpA @ 10.09.2013. 13:46 ] @
@Dimković
Ako bih morao da pogađam rekao bih da je to zato što android ima garbage collector, iOS nema (radi samo ARC). To "seckanje" koje pominješ tačno zvuči kao GC u akciji.

Veliki pdf-ovi popune memoriju uređaja i onda GC postaje jako spor. izvor: http://www-cs.canisius.edu/~hertzm/gcmalloc-oopsla-2005.pdf
[ Ivan Dimkovic @ 10.09.2013. 15:22 ] @
Citat:
the_tosic:
Nije odgovor na pitanje ali probaj Mantano ebook reader.
Meni najvise odgovara za citanje pdf-a, ima finu navigaciju i dobro je odradjen crop.

Za sve ostalo je djubre najgore. Npr kada iz Chrome-a skidan pdf i kazem da skine mantanom, OBAVEZNO ga spuca...


Upravo sam probao - i mogu reci da je ovo najprihvatljiviji reader sto se performansi tice.

Prilikom skrolovanja definitivno malo umanjuje rezoluciju, ali daleko manje nego drugi readeri koji to rade.

Inace, saznao sam i razlog - raspitao sam se malo kod kolega Android developera.

Naime, za razliku od iOS-a, Android nema sistemski PDF renderer, vec svako pise svoj. Vecina tih implementacija nisu nesto preterano optimizovane za GPU ocigledno.
[ Ivan Dimkovic @ 10.09.2013. 16:00 ] @
Cisto da se razumemo, renderovanje kompleksnih strana tako da se ne primeti krzavost i prilikom "dugackog" skrola je umetnost (u programerskom smislu).

IMHO, mislim da je dobra ideja da OS sistemski servisi nude PDF rendering, posto je to daleko od trivijalnog, a OS vendori imaju resursa da to implementiraju kako treba.

@ZaMpA, mislim da nije GC vec pristup renderu. Problem je sto kada imas "klizav" ekran koji se skroluje prstom, potencijalno moras renderovati daleko vise od jedne strane. Ako ti je render takav da renderuje samo jednu stranu, imaces prazan prostor kada "povuces" prst. Ako, sa druge strane, renderujes previse - GPU ti pocne da secka.

Postoje razni pristupi i optimizacije ovog problema - generalno, to spada u "umetnicki" deo sw. inzenjeringa i nije cudo da neki prosecni app developer pojma nema o tome, vec je samo ukljucio neki PDF widget ili lib u svoj kod.

U iOS-u / Mac OS X-u imas sistemski PDF renderer, koji je odlican - zato sto je Apple, iz specificnih razloga, veoma veliki akcenat dao na graficki deo price i PDF podrzavaju kao native format istorijski (npr. Quartz interno od samog pocetka jeste dizajniran da izlaz na PDF bude lak). Tako da, kao iOS app developer, ne moras da lupas glavu oko optimizovanog renderinga PDF dokumenata posto je sam OSV to resio za tebe.
[ Nedeljko @ 10.09.2013. 20:03 ] @
Rešavanje tog problema i nije neka umetnost. Problem je podržati PDF format, koji je vrlo složen, a ostalo i nije neka umetnost.

Dovoljno je da osim strana koje se prikazuju renderuješ jednu napred i jednu nazad i da to pomeraš, s tim da rendering ne radiš uvek od nule, nego da za svaku stranicu zapamtiš niz informacija "ovo slovo u ovoj transformaciji prikazati na ovom mestu u ovom fontu i ovoj boji" i "ovu sliku prikazati na ovom mestu u ovoj veličini" pri čemu ne pamtiš sadržaj slike, nego gde da je nađeš.