Komentarze Miłosz Staszewski Usuń wszystkie komentarze

MacGadka #139 – Nie przeprosili, bo nie musieli!

O gąbce nie pomyślałem. Zobaczymy, czy coś się uda zrobić. Dzięki!

MacGadka #139 – Nie przeprosili, bo nie musieli!

Dziękujemy za spostrzeżenia i miłe słowa. Ze względu na to jak obecnie MacGadka bywa nagrywana - z dnia na dzień raczej nie ma szans na usunięcie klawiatury w tle. Ale z czasem postaramy się to zrobić.

MacGadka #139 – Nie przeprosili, bo nie musieli!

Tak. Mieliśmy oczywiście na myśli MB12.

MacGadka #139 – Nie przeprosili, bo nie musieli!

No tak. Rzeczywiście. Dzięki za to spostrzeżenie!

MacGadka #139 – Nie przeprosili, bo nie musieli!

Odnotowane. Dziękujemy za wskazanie Rozgrywki.

MacGadka #139 – Nie przeprosili, bo nie musieli!

Dzięki. Staramy się! :)

MacGadka #137 – Windows na procesorach ARM i wyniki Snapchata

Bardzo dziękuję za to sprostowanie. Widać jestem łatwowierny. Przekażę słuchaczom w następnym odcinku. Całe szczęście, że chociaż Michał zachowal się zgodnie z zasadą ograniczonego zaufania względem niesprawdzonych informacji.

MacGadka #136 – Lama z Patagonii

Rzeczywiście. Dziękujemy za spostrzeżenie i przepraszamy!

MacGadka #135 – Apple Watch albo kapelusz od Apple

Deweloperzy mają narzędzia umożliwiające możliwość debugowania swojego kodu i równoczesny podgląd zajętości VRAM-u, ruchu na szynie karty itp. W ten sposób można wychwycić typ sytuacji, w których wydajność systemu spada.

Bitmapy reprezentujące dokładnie te same elementy interfejsu oczywiście przechowywane są jednokrotnie. Ale każdy komponent unikatowy (stąd np. przykład z kilkudziesięcioma plikami graficznymi w Podglądzie – ale to samo będzie z wyrenderowaną zawartością stron WWW, bardziej skomplikowanymi interfejsami programów itp.) zajmuje VRAM. W momencie, gdy trzeba to wszystko naraz narysować na ekranie – siłą rzeczy trzeba móc to załadować (i zmieścić) do VRAM-u.

MacGadka #135 – Apple Watch albo kapelusz od Apple

Tak. Twój komputer w porównaniu do takiego standardowego iMaca 5K ma BARDZO dużo VRAM. Zastanówmy się chwilę... Te wiele lat temu (przed Retiną) pojawiało się zapotrzebowanie na konfiguracje, gdzie chipset graficzny miał do dyspozycji 4 GB, a jak nagle czterokrotnie zwiększyliśmy objętość wszystkich bitmap to nawet 2 GB wystarczy?

Oczywiście teraz trochę się droczę, ale staram się posłużyć Twoją argumentacją.

Być może u Ciebie, na Twoim komputerze, przy tym co robisz (pomimo dużej ilość VRAM), "i tak tnie". To jest możliwe. Nie przeczę. I być może tam nawet VRAM o tym nie decyduje. Ale to pozostaje bez związku z tym, że na monitorach o rozdzielczości 5120x2880 w pewnym momencie po prostu wydajność jest dławiona ilością VRAM, jeśli użytkownik otwiera wiele okien, w których znajdują się za każdym razem różne bitmapy.

Policzmy: 2 GB to 2147483648 bajtów. Jedna bitmapa reprezentująca cały ekran to dokładnie 65536000 bajtów (zakładamy 32-bitową głębię). Czyli całkowite "wysycenie" VRAM następuje przy 32 takich bitmapach (33 już się nie zmieszczą). Proste. Wiem, że na ogół to, co robimy, składa się z mniejszych bitmap. Ale "helloł": 32 całe ekrany kończą temat!

Jak to najłatwiej zaobserwować? Kiedy ktoś np. ma pootwieranych dość dużo (np. 50-60) plików graficznych (nawet niepełnoekranowych – jeśli chodzi o wymiary) z bardzo prostą edycją w systemowym Podglądzie (celowo podaję ten przykład – bardzo częsty przypadek "na supporcie" – przy konstruowaniu ilustrowanych manuali, tutoriali etc.). Wówczas wywołanie Expose (Mission Control) zabija wszystko. Procesor nic nie robi (to prosta płaska, nieruchoma grafika), RAM-u ogólnego nadal jest mnóstwo wolnego (iMaki 5K obsługują oficjalnie 32 GB, a nieoficjalnie 64GB – i warto z tego korzystać!), a Expose ewidentnie pokazuje, że komputer "rzęzi ostatkiem sił".

Co do tego, że procesor jest wykorzystywany do rysowania: od wersji 10.4 Mac OS X akceleruje ile może "na karcie". CPU od lat nie jest używane do rysowania, gdy to tylko możliwe. Dlatego dane muszą właśnie mieścić się w VRAM-ie, gdy compositor (nie wiem, jak to poprawnie przetłumaczyć w tym kontekście :/ ) na nich operuje i potrzebuje je mieć pod ręką. Fragment "Cocoa Drawing Guide" (rozdział "Overview of Cocoa Drawing", sekcja "Cocoa Drawing Support") z developer.apple.com:

"The Cocoa drawing environment is compatible with all of the other drawing technologies in OS X, including Quartz, OpenGL, Core Image, Core Video, Quartz Composer, PDF Kit, and QuickTime. In fact, most Cocoa classes use Quartz extensively in their implementations to do the actual drawing. In cases where you find Cocoa does not have the features you need, it is no problem to integrate other technologies where necessary to achieve the desired effects.

Because it is based on Quartz, the Application Kit framework provides most of the same features found in Quartz, but in an object-oriented wrapper. Among the features supported directly by the Application Kit are the following:

Path-based drawing (also known as vector-based drawing) Image creation, loading and display Text layout and display PDF creation and display Transparency Shadows Color management Transforms Printing support Anti-aliased rendering OpenGL support

Like Quartz, the Cocoa drawing environment takes advantage of graphics hardware wherever possible to accelerate drawing operations. This support is automatic. You do not have to enable it explicitly in your code. "

Z akcentem na zdanie:

"Like Quartz, the Cocoa drawing environment takes advantage of graphics hardware wherever possible to accelerate drawing operations."

Błędne jest także stwierdzenie, że tylko Apple może podobne sytuacje debugować. Zarejestrowani deweloperzy mają dostęp do odpowiednich narzędzi diagnostycznych.

MacGadka #135 – Apple Watch albo kapelusz od Apple

Ale ja mam tutaj przed sobą najnowszego iMaca 5K z kartą 2 GB VRAM (niestety! ;) i jak go dociskam, to widzę co pierwsze zaczyna wydajność "dławić". :)

Co nie znaczy, że – jeśli okazja się nadarzy – chętnie się nie spotkam i nie podyskutuję. :)

MacGadka #135 – Apple Watch albo kapelusz od Apple

Hej. Z tym Berlinem to tak do końca nie mówimy "nie". Pytanie, czy znalazłoby się odpowiednio dużo chętnych osób przy zdecydowanie wyższym koszcie jednostkowym takiego szkolenia.

MacGadka #134 – Słuchajcie, nic nie stworzył!

Hej. To chyba nie do końca tak. Za słuchawki podziękowałem, bo zdobycie ich zaraz po premierze uważam, że było wyczynem. Tego się naprawdę nie dało kupić od samego Apple, w Apple Store'ach w wielu europejskich krajach. Wiem, bo próbowałem. O futerałach ani niczego nie mówiłem – ani do tego momentu nawet szczerze powiedziawszy nie wiedziałem. ;-) Jak mawiają: "credit where it's due". Tam gdzie coś jest OK – chwalmy. Gdzie uważamy, że jest inaczej – pokazujmy to. Z Apple'em też zwróciłem uwagę, że może nie jest różowo i należy dokładnie odczytywać słowa i kontenkst (!) :). Ale dużo, dużo wcześniej w tym właśnie odcinku podkreślałem przecież, że nowe MBP są świetne i powszechne narzekanie jest moim zdaniem niesprawiedliwe. Nie wiem, czy to widać (czy mi to wychodzi), ale staram się zazwyczaj pokazywać niejednoznaczność sytuacji i unikać prostych ocen.

Tak czy inaczej – dzięki za komentarz. W wolnej chwili przesłucham odcinek jeszcze raz i postaram się zbadać, czy rzeczywiście byłem nieobiektywny.

MacGadka #132 – postęp kosztuje

Dokładnie tak. Jeszcze raz dzięki za tę podpowiedź.

MacGadka #132 – postęp kosztuje

Wiesz co... Sprawdziłem i chyba masz rację. Dzięki ogromne za tę podpowiedź, bo jak widać czasem mnie pomroczność dotyka. :)

MacGadka #131 – Miłosz, wychodź z jaskini!

U nas bardzo różnie jest ze składaniem tego wszystkiego, więc niczego nie obiecuję, ale postaram się pamiętać.

MacGadka #131 – Miłosz, wychodź z jaskini!

Dzięki – staramy się! Temat zapisany, ale od razu ostrzegam, że wtedy to dopiero wyjdę na "skrzywionego"! ;-)

MacGadka #131 – Miłosz, wychodź z jaskini!

Dzięki! Odnotowane!

MacGadka #131 – Miłosz, wychodź z jaskini!

Dzięki! Staramy się! :)

MacGadka #131 – Miłosz, wychodź z jaskini!

Hej. Dzięki za komentarz (choć uszczypliwy ;) Słuchałeś odcinka ze Zdzichem? :)

A tak na poważnie: Czasem przyznaję innym rację. ;) Tylko w kwestii powszechnego mega hurraoptymizmu chmurowego mam niekiedy wrażenie, że nikt nawet nie próbuje zauważyć, że "ten kij ma dwa końce". "Chmura" to co do zasady też komputer. Tak jak Twój. Tylko KONTROLUJE go kto inny. Warto o tym pamiętać. Jeśli świadomie akceptujesz zapewniane w ten sposób wygody – OK. Ja przecież nikomu nie zabraniam. Tylko ostrzegam. ;-)

MacGadka #131 – Miłosz, wychodź z jaskini!

Hej. Dzięki za komentarz. "Distinguished Educators" traktuję jako wykorzystywaną przez Apple nazwę własną. Z deploymentem szczerze powiedziawszy nie wiem, jak to zręcznie przetłumaczyć na polski. To jest wdrożenie, instalacja ale także wdrażanie/instalowanie/uruchamianie – zależnie od kontekstu. Z "case'ami" byłoby pewnie znacznie łatwiej – tu masz rację. Postaram się pilnować.

MacGadka #131 – Miłosz, wychodź z jaskini!

Już nawet nie będę mówił, że z tym walczę, bo efekty widać... Ale dzięki za doping! ;-)

MacGadka #131 – Miłosz, wychodź z jaskini!

Dlatego uważam, że najlepiej byłoby mieć do wyboru jeden i drugi model dystrybucji. Porównanie do podstawowych narzędzi zdecydowanie mocniej rezonuje w przypadku Office'a. Z Adobe to też ma znaczenie – ale rzadziej.

Case in point: Adobe Acrobat. Starsze wersje (zanim przeszły na "airowy interfejs") zdecydowanie lepiej integrowały się z OS X i łatwiej można było je skryptować. Abonament to najczęściej także wymuszony upgrade (który sprzedaje nam się wyłącznie jako zaletę). A ja po prostu lepiej sypiam w nocy, wiedząc, że jeśli jakakolwiek logika biznesowa będzie wymagała ode mnie zastosowania konkretnej wersji systemu operacyjnego, na konkretnym sprzęcie z konkretnym "oprogramowaniem wokół", to mam taką możliwość. Rozwiązanie Adobe/Microsoftu/x w bardzo wielu przypadkach to tylko fragment większej całości, a reszty układanki może najzwyczajniej w świecie nie dać się zaktualizować.