Gå til innhold

Hvorfor er Android så avhengig av mange kjerner og høy klokkefrekvens?


Anbefalte innlegg

Denne blir lang!

 

Jeg har alltid lurt på dette, men har vært redd for å poste, fordi det blir som regel bare flaming av det.

 

Men her kommer det.

 

Hvorfor er det slik at Android telefoner og tablet kommer med 4-6 cores, med høy klokkehastighet med 2.0+++ Ghz, mens iDevices kjører med langt lavere hastigheter men allikevel klarer å holde følge i tester.

 

Vil gjerne ha ærlige svar her. Er det pga at Android er lite optimalisert?
"før i tiden" når jeg hadde galaxy s (den første) så husker jeg at det var en del ui lag etc, dette er jo borte nå, men trengte vi virkelig så mye kraft for at det skal flyte ok.

 

Jeg sitter å leser om Nexus 9 som folk har testet her på forumet, og der klager folk på UI lag og ting henger, selvom den har en prossesor med 4 kjerner og 2.7Ghz klokkehastighet.

 

Hvorfor/Hvordan klarer iOS devices å kjøre på 2-3 kjerner med relativ lav hastighet 1.0-1.3Ghz og allikevel gjøre det veldig godt i syntetiske tester.

 

La oss se på noen eksempler, bruker her Anandtech, fordi de er veldig omfattende tester.

Disse er fra Nexus 9, nyeste tablet fra Google:

68867.png

68868.png

68869.png

68870.png

68871.png

68873.png

 

68874.png

 

https://www.youtube.com/watch?v=qIod1fmqwGc

 

Så hvis man ser her, så er det forholdsvis jevnt mellom iDevices og Android (telefoner og tablets). Men er vel ikke vits å skjule at akkurat i denne testen gjør iPaden i testen det bedre enn Nexus 9, når det kommer til CPU. GPU vinner Nexus 9 takket være tegra k1.

 

Mitt store spørsmål til dere, hvorfor er det slik. Fra et rent teoretisk standpunkt virker dette veldig merkelig. Er det da bare android som er dårlig optimalisert (fortsatt) eller er det andre ting?

Flott hvis vi kunne ha en nøytral diskusjon på dette. Hvis dette er mulig. Ikke flaming vær så snill

Lenke til kommentar
Videoannonse
Annonse

Android er AMD på cpu delen, mens idingser er intel.

Intel har færre kjerner, men bedre ytelse per kjerne.
AMD har flere svakere kjerner, men mange for å få lik totalytelse som intel, men da også bruker dobbel strømforbruk.

Samme er det med android og idingser også.

Lenke til kommentar
Gjest bruker-293283

Det har ikke noe med GHz eller kjerner å gjøre. Snapdragon 80x, Tegra K1 64bit og Apple A8 er forskjellige arkitekturer fra forskjellige produsenter. iPhone kjører tradisjonelt to store CPU kjerner mens snapdragon har fire mindre kjerner. Det er ingenting som tilsier at android trenger 4 kjerner eller mer for å kjøre flytende. En kan jo sammenligne intel sin i5 4690k(4 kjerner) på 3.5GHz mot amd sin fx9590(8 kjerner) på 4.7GHz og se hvilken som yter best.

Spoiler; 4690k

 

Det skal nevnes at det er enklere for apple å optimalisere hardware mot software da iOS kun kjører på deres egen SoC.

 

Edit; Nexus 9 har en 2 kjerners CPU på 2.3GHz. Problemene folk rapporterer med lag kan skyldes software problemerer i Android 5.0 eller som noen spekulerer, at tegra k1 ikke er en "ren" ARM prosessor.

Endret av bruker-293283
Lenke til kommentar

De klagene har for det meste hatt med grafikk rendring , meny transitions , og skrolling å gjøre i user interface (lagg, jerky)

Les lenken i

https://www.diskusjon.no/index.php?showtopic=1627174&page=20&do=findComment&comment=21966271

 

 

Og at:

 

Nå tenker jeg på hvorfor det hakker i Android og er fluid i IOS.Det har mindre med specs og hardware å gjøre.

Og jeg snakket med noen applikasjons utviklere hos Ericsson hvorfor den "appen" ikke kom til iphone. Og svaret var at de fikk ikke lov å kjøre en nødvendig bakgrunns prosess da applikasjonen ville slutte å virke om prosessen ble pauset når en går ut av den.Så det er i tillegg et bestemte bakgrunnsprosesser kun via betemte apisom får lov å kjøre i IOS bakgrunn, så er strengt kontrollert av og bestemt av apple (eks musikk spiller).Det er noe av forklaringen.

Endret av syar2003
Lenke til kommentar

Det har ikke noe med GHz eller kjerner å gjøre. Snapdragon 80x, Tegra K1 64bit og Apple A8 er forskjellige arkitekturer fra forskjellige produsenter. iPhone kjører tradisjonelt to store CPU kjerner mens snapdragon har fire mindre kjerner. Det er ingenting som tilsier at android trenger 4 kjerner eller mer for å kjøre flytende. En kan jo sammenligne intel sin i5 4690k(4 kjerner) på 3.5GHz mot amd sin fx9590(8 kjerner) på 4.7GHz og se hvilken som yter best.

Spoiler; 4690k

 

Det skal nevnes at det er enklere for apple å optimalisere hardware mot software da iOS kun kjører på deres egen SoC.

 

Edit; Nexus 9 har en 2 kjerners CPU på 2.3GHz. Problemene folk rapporterer med lag kan skyldes software problemerer i Android 5.0 eller som noen spekulerer, at tegra k1 ikke er en "ren" ARM prosessor.

K1 er grafikk processoren. Shield tablet har en cortex R3 2.2 GHz cpu.

Lenke til kommentar
Gjest bruker-293283

 

 

Det har ikke noe med GHz eller kjerner å gjøre. Snapdragon 80x, Tegra K1 64bit og Apple A8 er forskjellige arkitekturer fra forskjellige produsenter. iPhone kjører tradisjonelt to store CPU kjerner mens snapdragon har fire mindre kjerner. Det er ingenting som tilsier at android trenger 4 kjerner eller mer for å kjøre flytende. En kan jo sammenligne intel sin i5 4690k(4 kjerner) på 3.5GHz mot amd sin fx9590(8 kjerner) på 4.7GHz og se hvilken som yter best.

Spoiler; 4690k

 

Det skal nevnes at det er enklere for apple å optimalisere hardware mot software da iOS kun kjører på deres egen SoC.

 

Edit; Nexus 9 har en 2 kjerners CPU på 2.3GHz. Problemene folk rapporterer med lag kan skyldes software problemerer i Android 5.0 eller som noen spekulerer, at tegra k1 ikke er en "ren" ARM prosessor.

K1 er grafikk processoren. Shield tablet har en cortex R3 2.2 GHz cpu.
Tegra K1 er en SoC. Litt lett å blande betegnelser men SoC omtales stort sett som prosessor. CPU kjernene i Nexus 9 heter forøvrig denver. Grafikken heter kepler.
Lenke til kommentar

Dette minner om tiden da det var Amiga vs PC som ble diskutert.

Der gikk f.eks en tekst som scrollet over skjermen helt flytende på en gammel Amiga 500, mens den gikk hakkete og gjerne flimrete over skjermen på en mange, mange ganger så kraftig PC.

Det lå noe annet bak siden PC-hardwaren var mer enn kraftig nok for en så enkel oppgave.

 

Det er det samme med mobiler i dag, de er mer enn kraftige nok til å gi en flytende brukeropplevelse, hvorfor er det da slike forskjeller?

Lenke til kommentar
Gjest medlem-169651

Det må jo ha noe med at IOS rett og slett er laget bedre og derfor flyter bedre. Windows Phone funker jo kjempeflott og smooth på selv billige telefoner med moderate specs, mens jeg opplevde mye lagg og tregheter på min LG G3 som har topp specs.

 

Tror rett og slett Android er fellesnevneren her. Farlig å si sånn, for da får jeg nok sterke ord tilbake, men sagt er sagt...

Lenke til kommentar

Det er det samme med mobiler i dag, de er mer enn kraftige nok til å gi en flytende brukeropplevelse, hvorfor er det da slike forskjeller?

Fordi det er en overraskende mengde mennesker som ikke legger merke til slike ting, også blant utviklere. Og fordi det er en overraskende stor menge utviklere som tror at slike ting kan fikses "etterpå". For de har nemlig lest i en bok at man først skal få programmet til å virke, så optimalisere etterpå. Men for å sørge for at man aldri får framedrops må hele programmet være skrevet rundt at det skal være realtime, det er ikke noe man bare kan flikke litt på etterpå. GUI må kjøre i egen "tråd", og dermed må GUI-biblioteket har støtte for tråder. Dette bør gjøres skikkelig fra starten. Akkurat som at man må gjødsle der kornet vokser, ikke direkte i bakebollen. Noen ting kan bare ikke gjøres etterpå.

 

Har man skrevet det sånn at GUI venter på IO (f.eks. å lese inn en liste of filer som ligger på disken) er man dømt til å få hakking når det tar lenger enn 30 ms å hente inn lista. Idiotene tenker at det er "bare" å putte inn raskere disker og prosessorer og busser og sånt så ordner det seg "etterpå". Problemet er tre ting:

* Når hardware blir raskere stiger også forbrukers forventning til hva enheten skal gjøre, så ytelsesøkningen kommer ikke alltid programmet direkte til gode.

* Uansett hvor raske disker man har kan man ikke *garantere* at ting går raskt nok, f.eks. kanskje disken er i dvale, eller på en annen datamaskin (vi har vel alle trykket på "hele nettverket" i windows 95 og ventet flere minutter på at vinduet skulle svare).

* Hvis bakgrunnsprosesser "kommer i forkjøpet" så hjelper det ikke hvor rask disken er. Det blir som at GUI skal vise en liste over filene i en mappe. Men det er programmert sånn at det henger til det får tak i lista (den enkleste og dummeste måten å lage det på). Det å hente inn lista tar kanskje 2 ms. Men så kommer det et annet program foran i køen for disken og skal ha ut 10 mb... (Vi har alle stått i køen med en tyggis mens en storfamilie med to handlevogner legger varer på båndet.) Da blir det hikke.

 

Idiotene tror at man kan bare lage det sånn at forgrunnsprogrammet går først i IO-køen, så ordner alt seg, og man trenger ikke lage trådet GUI. Nei, og nei. For hvis bakgrunnsprosessen er en musikkspiller som skal lese neste delen av sangen, og den sendes bakerst i køen, kan det bli hakking i musikken.

 

Smartingene lager det fra starten av sånn at GUI ikke henger og venter på IO som tar litt tid.

 

Så egentlig koker det ned til at dette er holdningsproblem: Noen vil ha det perfekt, og skriver programmet sånn at det blir perfekt. Andre bryr seg ikke så lenge de ikke får masse klager, og sparer dermed penger/tid på å skrive programmet på en enklere måte.

 

Edit: Og får de klager er det bare bra, for da kan de få folk til å kjøpe neste telefon, som har raskere prosessor.

Endret av Tåkelur
Lenke til kommentar

Fans of Apples mobile devices such as the iPhone, iPod touch and iPad often wonder why cant scrolling on Android phones and tablets be jerk-free as on iOS devices. Its been something of a mystery, especially taking into account how the original iPhone had nailed smoothness more than four years ago and on sub-par hardware which was substantially slower than the beefy chips powering todays Android super phones.

 

Growing tired of misinformation about how graphics rendering works on Android, engineer Dianne Hackborn set the record straight today on Google+

..

..

..

 

Les videre

http://9to5google.com/2011/12/05/google-explains-why-android-animations-lag-behind-butter-smooth-ios-interface/

Lenke til kommentar

Det er en innrømmelse fra Google utviklere at IOS rendrer UI silkemykt og at det er hakkete på Android.

At PL610 ikke engang gidder å lese hvorfor det er slikt og drar i tillegg inn multitasking en (som jo alle vet hvordan er i ios).

Vel...

 

Og jeg er ikke "tilhenger" av noen spesifikk da vi har både iphone5 og 5s i huset i tillegg til ulike android enheter.

Endret av syar2003
Lenke til kommentar

Så med andre ord aner du ikke hva som er forskjellen.

Men du har rett, det er ikke det som er sakens kjerne i denne tråden, det er hvorfor Android tilsynelatende krever mer av hardwaren enn iOS, noe som er stikk i strid med det Swang påstod i batteritesten han klovnet til.

  • Liker 1
Lenke til kommentar

Nei, multitaskingmodellen er ganske lik mellom Android og iOS, men i linken din var det en påstand som jeg kommenterte.

Når man kommer med en slik lite gjennomtenkt påstand legger man lista i resten av artikkelen.

 

Windows mobile hadde også full multitasking, men den var slett ikke optimalisert for små, portable enheter, til forskjell fra iOS og Android.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...