Kodiranje za GPU je po definiciji v asemblerju, ker za pixel in vertex shaderje ne obstajajo višjenivojski jeziki.
Kar se hitrosti ObjC-ja tiče se čisto strinjam. Performančno kritične zadeve se vedno naredijo v C-ju.
@brgo: UI thread mora imeti absolutno prioriteto, tako je edino pravilno. Ko se rabijo cpu cikli za user interface, morajo bg zadeve čakati. V nasprotnem primeru dobiš slabo uporabniško izkušnjo. Jaz imam raje, da je scrollanje smooth, kot da se da prioriteto dekodiranju slik, ki se med scrollanjem nalagajo.
Drugi trik, ki ga apple uporablja že od prvega iphona so pa animacije. Med alociranjem novih view-ov se grafika offlouda na GPU, CPU pa se lahko posveti novi vsebini. Uporabnik pa dobi občutek tekočega delovanja, ker se UI ne blokira za delček sekunde med nalaganjem. Ta princip se na veliko uporablja tudi v windows phone os.
Samega multitaskinga uporabnik ne rabi. Uporabnik rabi, da se aplikacije posodabljajo ko niso aktivne, da se glasba predvaja v ozadju, da dobivaš IM sporočila, ko app ni aktiven,...
18 jederni android pa se zatika, ker v 90% primerov 17 jeder počiva, preostalo pa deluje s polovično frekvenco, da špara baterijo. Zato vsa ta dodatna jedra ne koristijo popolnoma nič za tekoče delovanje OS.