Mój pierwszy Mac

Przeskocz do:

Apple Blog.pl

24.08
Co by było, gdyby Maki miały rozdzielczość ekranu iPhona

Paweł Opydo myli się na temat resolution independance w kontekście rozdzielczości z iPhona na monitorach komputerów:

Podstawowy problem? Soft. Taka zmiana wymagałaby podobnej migracji, jak ta, która obecnie odbywa się w App Store. Aplikacje musiałyby być przepisywane na wyższą rozdzielczość, albo systemowo rozciągane (te wyglądałyby słabo).

Nie wyglądały by słabo, jeśli rozdzielczość monitora np. w iMaku była by zwiększona w ten sam sposób jak w iPhonie. Tj. dwukrotnie. Jeśli w tej chwili jeden programowy piksel wyświetlany jest przez jeden fizyczny piksel, to po zmianie ten programowy piksel świeciłby się na kwatce 2×2 fizycznych pikseli. Różnica nie do zauważenia.

Problem pojawił by się, jeśli rozdzielczość by skoczyła np. z 1920x na 2560x nagle i trzeba zastosować nierówny mnożnik. To wszystko jednak rozwiązują grafiki wektorowe, o których zresztą Paweł dalej wspomina. Autorzy aplikacji przygotowując grafiki do programu będą mogli używać grafik zapisanych w wektorach. Wtedy system sam zdecyduje jak i gdzie wyświetlić piksele, żeby wyglądało to najlepiej jak się da.

Oczywiście dalej nie było by idealnie przy przełożeniu 1-do-1.5, jednak użytkownik zdobyłby niesamowitą opcję: suwaczek pozwalający na zwiększenie lub zmniejszenie rozdzielczości interfejsu. Wtedy np. ja jadę w górę suwaczkiem i robię wszystkie kontrolki mniejsze bo widzę dobrze. Mój ojciec na swoim 17″ wyświetlaczu FullHD suwaczek daje w dół, żeby elementy były większe.

18 komentarzy do tego tekstu

  1. Mati

    w teorii fajne, ale wole niewiedziec ile bedzie kosztowala kilkunasto calowa matryca z takim DPI :P

  2. Pawel Opydo

    Nie wiedziec czemu aplikacje z 320×480 na retinie wyglądają strasznie, mimo, ze teoretycznie powinny wyglądać tak jak na iPhone 3GS. Z drugiej strony to moze być mała “zachęta” dla deweloperów, żeby robili wersje high-res – patrz iPad, gdzie aplikacje iPhone są straszne i nawet elementy wektorowe nie są rozciągane, mimo, że – jak pokazuje iPhone – da się ładnie powiększyć fonty i elementy SDK.

    Sory za literówki, iPhone.

  3. b4it

    Pawle O., jeśli masz jeszcze swojego starego 3G to włącz na nim i na 4 dwa jakieś te same programy nie przystosowane do Retiny i porównaj. Fakt, na 4 nie wyglądają ładnie (dla przeciętnego użytkownika są po prostu nie ładne a nie tragiczne) ale porównując na 3G to wcale od siebie nie odbiegają. Także to wina Retiny ale w innym sensie – podniosła nasze wymagania na inny poziom. ;)
    Zgadzam się bardziej z Pawłem N.

  4. Kuba

    Trochę mylący temat posta …
    Rozdzielczość ekranu, a liczba jego DPI to nie to samo, mimo że jest ściśle ze sobą powiązane.
    Gdyby Maki miały mieć rozdzielczość iPhone’a to byłby to lekki powrót do przeszłości :]

  5. Soq

    “wymagałyby” ;) partykułę -by z czasownikami w formie osobowej piszemy łącznie :)

  6. Paweł Opydo

    @b4it – sprawdzałem i mimo wszystko te same ikonki z aplikacji o niskiej rozdzielczości wyglądają trochę lepiej na 3G, niż rozciągnięte na 4. Nie wiem, z czego to wynika :) Ale fakt, różnica jest nieznaczna i chyba po prostu potęguje ją jakość ekranu “czwórki”.

  7. Bartosz Smaga

    Pawel, wygladaja inaczej bo jest inny rozmiar bitmapy potrzebny, aby pokryc ten sam obszar ekranu… Piszac to wszystko zapominacie o jednym, cala idea na zmiane “gestosci” ekranu, polega na zwiekszeniu ilosci pikseli na punkt ekranu. Ekran w punktach jest wciaz ten sam, czyli 320×480… Natomiast w pikselach jest wiecej na iPhone 4 (w tym wypadku akurat x2, ale Apple zastrzega sobie, ze to moga byc rozne wartosci).

    Jesli chodzi o sama ikone, to na starszym iPhone wystarczaloby aby bitmapa miala 57×57 pikseli. Na iPhonie 4 ikona ma 57×57 ale punktow, natomiast w pixelach ma 114×114. Jest do dosyc znaczace, bo dzieki temu rozwiazaniu, polozenie komponentow na ekranie jest wciaz w tym samym miejscu i nie trzeba od nowa budowac ekranow apliakcji – interface sie “nie rozjezdza”. A tam gdzie jest bitmapa, wystarczy podmienic ja na obrazki w podwojnej rozdzielczosci (zreszta system sam sobie je dobiera – konwencja nazewnictwa plikow)…

    I to tyle..

    W ogole wydaje mi sie, ze rozwazanie dotyczace Macow sa troche chybione w tym wypadku. Poczytajcie troche o “Resolution independence” to bedziecie wiedziec o co w tym chodzi. Zreszta Snow wspiera to – czesciowo i niedokladnie, ale kroki juz zostaly poczynione.

  8. oaks

    Soq – dzięki, też mnie to czasem męczy, jak czytam.

  9. lookash

    A czy to przypadkiem nei jest kwestia interpolowania i nakładania jakiś dziwnych filtrów? Aplikacja iPhone’owa na iPadzie w trybie 2x powinna wyglądać pixelowato ale ostro. Niestety jest lekko rozmazana.

    Inna sprawa to to, że nie rozumiem czemu apple nie dodało do iPada obsługi aplikacji przystosowanych do retiny. Wtedy Aplikacja w trybie 1x korzystałaby z grafik dla <=iPhone 3Gs, a w trybie 2x z tych dla iphone 4. Mam nadzieje ze w iOS4 dla iPada taka możliwość będzie.

  10. Bartosz Smaga

    Po pierwsze wsparcie dla Ratina Display jest dopiero na iOS4, a wiec jak niby to mialoby dzialac na iOS3.2, ktory jest na iPadzie.

    Po drugie zoom 2x na iPadzie to najprawdopodniej zwykle rozciagniecie tekstury z interpolacja pikseli. Przynamniej tak to wyglada i takie rozwiazanie wydaje sie najsensowniejsze. Mi tam to osobiscie nie przeszkadza.

    Po trzecie boje sie iOS4 na iPada. Wsadzili 256MB ramu w to urzadzenie (tyle co iPhone 3gs) a ekran jest ponad 2x wiekszy (czyli moze czasami potrzebowac 1.5x do 2x wiecej zasobow niz 3gs). iOS4 dziala dopiero pieknie na iPHone 4 (512MB ramu)…

  11. lookash

    Wsparcie dla retina jest dostępne jedynie dla iPhone 4 a nie ma iOS4. Mogli zrobić jakąś małą poprawkę już w iOS3.

    A co do bania się o iOS4 na iPada. Niby o co się boisz. iPad już dawno ma programy i gry działające w rozdzielczości jeszcze większej niż ta w retinie. i co najważniejsze, wszystko działa wyśmienicie.

  12. Bartosz Smaga

    @lookash ciekaw jestem skad czerpiesz swoja wiedze… To system wspiera ta rozdzielczosc, ma wbudowane mechanizmy do obslugi tego ustrojstwa (pojawia sie chociazby “scale factor”). Wczesniej tego nie bylo. I zmiany te rzutuja na caly core zwiazany z wyswietlaniem: Quartz/Open GL. To nie jest kwesita jakiestam latki, bo zmieniaja sie calkowicie bebechy w systemie.

    Na druga czesc swojej wypowiedzi sam sobie odpowiedz. Ile nowych funkcji jest w iOS4, ile wiecej ramu potrzebuje system aby dzialaly wszystkie wodotryski (chociazby multitaskich, czy procesy chodzace w tle, ktore pojawiaja sie w iOS4), porownaj to z iOS3.2 – bedziesz mial odpowiedz.

  13. b4it

    Bartek, jaką masz pewność, że to właśnie w 3.2 nie pojawiło się wsparcie dla Retiny a iOS to “odziedziczył”? Oczywiście nie twierdzę, że tak jest.

    Co do RAMu to nie tylko tym system żyje. iPad posiada układ A4 czyli między innymi lepszą grafikę (nie wspominając o 1GHz) która uciągnie iOS. Nie masz czego się obawiać.

  14. Bartosz Smaga

    @b4it oczywiscie glowy nie dam, bo to moze byc hidden API ;-) i po prostu zostaje upublicznione dopiero w iOS, ale…

    iPad to inne proporcje ekranu, inne komponenty GUI, a takze w kilku miejscach inne API.. czyli rozni sie od iPhoneOS i iOS. Czesc rzeczy pojawia sie w 3.2 i pozniej jest tego kontynuacja w iOS (chociazby gestures). Ale juz interface jest troche inny na iPada… iPhone idzie inna sciezka. Czyli nie musieli sie starac o zrobienie mechanizmow dla nazwijmy to “scale factor”, bo i tak developer jest zmuszony do zrobienia GUI od podstaw.

    Inna sprawa jakby bylo wsparcie dla “scale factor” to naturalnym wydaje sie, ze aplikacje iPhoneowe odpalane na iPadzie z niego korzystajam prawda?

    Tak wiec mi sie wydaje, ze nie ma, albo jest w formie szczatkowej i na dodatek jako ukryte API.

    Obys mial racje z iOS4 na iPadzie – ostatnio stracilem do Apple’a troche serce i jestem pelen obaw o to, ze wypuszcza iPad’a 2 aby pociagnal iOS4 (z 512MB ramu), a iOS4 na pierwszego iPada zostanie okrojony ze wszystkiego co sie da… Pozyjemy, zobaczymy…

    Rozpisalem sie.. Przepraszam wszystkich za te tasiemce…

  15. lookash

    Sam system bez odpowiedniego ekranu to sobie może wspierać i full hd. Co z tego. Na 3G i 3Gs też masz już dzisiaj iOS4, ale retiny to on tam nie wspiera bo i po co.

    Dzisiaj mam w iPadzie bacgroundera i bez problemu mam właczone kilka aplikacji. Przypominam, że backgrounder zachowuje w tle całe aplikacje a nie jedynie niektóre ich funkcje. Działa to tak jak powinno i nic nie zacina, nie zwalnia. Tak więc, jak już pisałem ja się nie boję o działanie iOS4 na iPadzie :)

  16. lookash

    Aha, co do wypuszczenia ipada 2 to jeszcze troche minie zapewne. I bynajmniej nie chodzi tu o kwestie sprzętowe a głownie o zwykły marketing. iPad jeszcze na dobre nie zadomowił się poza USA więc zapewne jeszcze troche na nim ujadą i kaski naklepią ;)

  17. teo

    Ach, o czym wy tu… Obaj się mylicie :P.

    Za wyświetlanie grafiki, budowanie okienek i interfejsu (że tak powiem… łopatologicznie) w OSX odpowiada Quartz. Projektant i programista mają w nosie jaka jest rozdzielczość podczas tworzenia aplikacji, najwyżej patrzą (powinni) na DPI.

    Apple dostosowuje Quartz do nowego DPI i wszystko wygląda pięknie z automatu – bez znaczenia jaka jest rozdzielczość i czy “mnożnik” jest równy czy nie. Żadnej aplikacji nie trzeba przerabiać. Liczy się ilość punktów na cal! Chyba, że… jakiś obrazek/ikonka jest w rastrze, wtedy przy zwiększonym DPI byłby mniejszy – jeszcze nie spotkałem się z tym w maku.
    Inaczej byłaby kicha, przecież MB, MBPro, Cinema Display i iMak – wszystkie mają inne rozdziałki i nic się nie rozjeżdża. Dlaczego? Bo ekrany mają te same DPI, i system też wyświetla w takim samym DPI – po prostu ikonki, czcionki i inne pierdoły są mniejsze bo rozdzielczość rośnie przy stałym DPI.

    Tyle w temacie displaya ze zwiększonym DPI (Retina) w makach.

  18. andig

    A ja powiem krótko – w mac’ach brakuje mi funkcji, jaka jest w Win 7, czyli powiększenia interface’u :P. Można to robić rozdzielczością, ale jak wiecie/domyślacie się – nie zawsze ładnie to wygląda :/.

More in Miniblog (321 of 695 articles)