Lagg i Android (var Vsync (iOS vs Android vs Windows))

Diskussion i 'Frågor, support och diskussion' startad av Anoid, 30 okt 2011.

  1. Anoid

    Anoid Baby Droid Medlem

    Blev medlem:
    20 jul 2011
    Inlägg:
    19
    Mottagna gillanden:
    0

    MINA ENHETER

    Jag vet inte riktigt var man ska ställa en sån här fråga, men tänkte att det borde finnas flest programmerare här inne.

    Undrar om det finns nån som kan svara på varför all grafik på iPhone flyter bättre än på Android. Man kan jämföra flytet mellan iPhone 2 och SG II och iPhone 2 vinner lätt. Ursäkterna jag har hört är att större mängd av grafikoperationerna utförs av GPU'n hos iPhone men det tycker jag inte är en tillräckligt bra förklaring. Jämför man browsern hos iPhone (scrollning och zoomning) så är det grymt mjukare hos iPhone än hos SG II även om browsern i sig är jättelångsam. Kort sagt, hur kan det komma sig att flytet på en C-64 är bättre än på en SG II?

    En annan ursäkt är att GC'n i Dalvik gör att man får små hack i flytet.

    När jag pysslade med sånt här för femhundratretti år sen så handlade det om timing, att skärmen uppdateras med samma intervall oavsett hur stora ändringar man gjort. Dvs att när man fyllt skärmen med nytt godis så väntar man till nästa vsync. Är det här som Java är problemet? Använder man Thread.sleep() timers på riktigt? Finns det inget inbyggt i Dalvik man kan använda?

    Vet inte riktigt vad jag bubblar om.
     
    Last edited: 30 okt 2011
  2. _z_

    _z_ Professional Droid Medlem

    Blev medlem:
    16 aug 2009
    Inlägg:
    3 149
    Mottagna gillanden:
    350
    Operatör:
    Telenor
    Telefon:
    Galaxy Note 8

    MINA ENHETER

    Operatör:
    Telenor
    Telefon:
    Galaxy Note 8
    Helt fel att flytet i SGS2 browser är sämre än på Iphone, stämmer inte alls.

    Däremot så flyter ios & wp7 generellt mjukare & finare som helhet, Android lider fortfarande av microlagg emellanåt.

    Man brukar ju skylla på avsaknaden av gpuacceleration, hur det är med det vet jag inte men vi får väl se nu när Ice cream sandwich kommer då den har det :)

    Edit : Här kan du få en liten vink om skillnader i flyt, ja dom märks inte speciellt mycket i denna film.

    https://www.youtube.com/watch?v=bphZoV8VrLc&feature=youtube_gdata_player
     
    Last edited: 30 okt 2011
  3. Anoid

    Anoid Baby Droid Medlem

    Blev medlem:
    20 jul 2011
    Inlägg:
    19
    Mottagna gillanden:
    0

    MINA ENHETER

    Du missförstår mig. Det är inte snabbheten jag pratar om utan flytet.

    Här är en jämförelse mellan 4S och SGII, kolla 10 min in:

    iPhone 4S vs. Samsung Galaxy S 2 - YouTube

    Hela videon visar hur fenomenalt bäst SGII är (jag har en sån själv), det är inte det jag pratar om.

    Android hackar. Microlagg är ett bra ord.
     
  4. _z_

    _z_ Professional Droid Medlem

    Blev medlem:
    16 aug 2009
    Inlägg:
    3 149
    Mottagna gillanden:
    350
    Operatör:
    Telenor
    Telefon:
    Galaxy Note 8

    MINA ENHETER

    Operatör:
    Telenor
    Telefon:
    Galaxy Note 8
    Nä det är flytet jag pratar om och vad det gäller just browsern så har ju samsung verkligen lyckats där. Läs om mitt inlägg så ser du vad jag menar för bortsett från din åsikt om flytet i browsern så håller jag med dig.

    Edit : Kikade på videon igen & det kanske är pga att jag tittar i mobilen jag inte ser någon skillnad. Jag tycker dock att samsungs browser är sanslöst smooth jämfört med alla andra android browsers.
     
    Last edited: 30 okt 2011
  5. Skywriter

    Skywriter Professional Droid Medlem

    Blev medlem:
    22 sept 2009
    Inlägg:
    2 433
    Mottagna gillanden:
    142

    MINA ENHETER

    De små hacken som kommer ibland är garbage collectorn som körs. I tidiga versioner av Android kördes den i tid och otid. Kollar du i logcat så ser du att GC drar igång typ varje gång du scrollar vilket leder till att scrollen hackar till.

    Jag har för mig att GC gjordes om i Gingerbread men problemet verkar inte helt ha försvunnit. Med ICS kan man nog förmoda att problemen är lösta, iaf på telefoner med dual core. ICS är optimerat för flera kärnor och GC kan nu köras på en egen kärna och inte störa appen eller grafiken. Hur det blir för single core-lurar lär framtiden utvisa men hårdvaruaccelereringen lär hjälpa lite.

    Det finns en jättebra förklaring till allt detta och det har tagits upp i många trådar förut men jag hittar det inte.

    Edit: Hittade inlägget
    https://swedroid.se/forum/41893-nexus-3-prime-bekraftad-diskutera-har-67.html#post773521
     
    Last edited: 30 okt 2011
  6. Anoid

    Anoid Baby Droid Medlem

    Blev medlem:
    20 jul 2011
    Inlägg:
    19
    Mottagna gillanden:
    0

    MINA ENHETER

    Jag förstår fortfarande inte :-D

    Android är ju inte Java i botten utan Linux. Även om Dalvik kör men tunga trådar (en process per tråd) så borde inte GC'n kunna störa flytet. Finns det ingen dubbelbuffring? Finns det inga interrupt eller hårdvarutimers längre? Nånstans blir ju Java native-kod, och där förstår jag inte hur GC'n kan påverka.

    Jaja, ska inte tjata längre. Tycker det är märkligt bara.
     
  7. Reconnnn

    Reconnnn Professional Droid Hedersmedlem

    Blev medlem:
    9 mar 2010
    Inlägg:
    2 809
    Mottagna gillanden:
    263

    MINA ENHETER

    Då browsern är gjord som jag förstått det i Java åtminstone gränssnitt. Så berörs det av javas GC.
     
  8. Anoid

    Anoid Baby Droid Medlem

    Blev medlem:
    20 jul 2011
    Inlägg:
    19
    Mottagna gillanden:
    0

    MINA ENHETER

    Du behöver inte titta speciellt djupt ner i grafikapi'erna för att mötas av nyckelordet native. Dom kan inte ha rippat suns api'er från slutet av förra seklet rakt av, så puckade är dom inte.

    Äsch, nu har jag eldat upp mig. Har sökt lite på nätet och hittade en lång diskussion om det här:

    "The subtle, pervasive lag that has characterized the Android UI since it inception is still there, which is not a heartening thing to hear when you

    En kille har en bra liknelse angående responsivitet hos Android:

    "It's like you pull with Android but you move the iOS"

    en annan kille, som påstår sig vara ingenjör, säger att det är medvetet - att det finns en fördröjning inbyggd i Android:

    "This "lag" is intentional. I come from an engineering background. Commands should be clear and intentional before anything occurs. The delay isn't an error, it's waiting for a firm confirmation. Which makes sense, Google is a massive group led by engineers. This type of feel makes us feel better about the phone."

    Han är uppenbarligen ett pucko, men frågan är om han har rätt.

    Hå hå ja ja.
     
  9. Skywriter

    Skywriter Professional Droid Medlem

    Blev medlem:
    22 sept 2009
    Inlägg:
    2 433
    Mottagna gillanden:
    142

    MINA ENHETER

    Om du läser källartikeln till diskussionen du länkat till hittar du följande:

     
  10. Anoid

    Anoid Baby Droid Medlem

    Blev medlem:
    20 jul 2011
    Inlägg:
    19
    Mottagna gillanden:
    0

    MINA ENHETER

    Jag läste det också. Det är svårt att säga nåt om Galaxy Nexus ännu, man måste sätta fingret på skärmen för att veta hur den är (precis som de säger).