Fråga: GPU-rendering eller inte?

Diskussion i 'Galaxy Nexus - Allmänt' startad av alhal, 29 jan 2012.

  1. alhal

    alhal Teen Droid Medlem

    Blev medlem:
    24 aug 2010
    Inlägg:
    380
    Mottagna gillanden:
    28

    MINA ENHETER

    Fråga ang inställningen gpu rendering, varför är den inte ibockad by default? Ska man använda gpu rendering eller inte? Sedan läste jag i en annan tråd att trots man bockar i för denna inställning så renderas inte allt med gpu ändå? Finns en tydligen en mod för detta så att allt renderas av gpun och cpun avlastas.

    Någon som orkar reda ut begreppen?

    Har för mig att jag läste en artikell för nåt halvår sedan att anl till att Apple har sånt flyt i gui:et tom på en 3G/3Gs är just för att dom haft gpu rendering sedan start och att gpu rendering var en av ICS stora nyheter.

    Någon?

    Sent from my Galaxy Nexus using Tapatalk
     
  2. Blondyz

    Blondyz Senior Droid Medlem

    Blev medlem:
    10 feb 2010
    Inlägg:
    1 314
    Mottagna gillanden:
    87

    MINA ENHETER

    Jag antar att inställningen du nämner är "Force GPU rendering" under "Developer options".. Kort och gott är det till för utvecklare (liten hint eftersom det ligger under dev. options..). De applikationer som stödjer GPU rendrering körs med GPU rendrering, även om detta är alternativ är inaktiverat, anledningen till att du inte vill tvinga alla appar att köras med GPU rendrering är helt enkelt att alla inte klarar av det, vissa appar kommer inte att fungera om du kryssar i alternativet.

    För att reda ut det lite, iom ICS kan utvecklingen med GPU rendrering börja. Detta innebär helt enkelt att möjligheterna finns, men för att allt/alla ska dra nytta av det krävs anpassning, vilken sker as we speak. Ju fler appar som stödjer det, ju fler appar kommer att köras med GPU rendreing nu och i framtida Android versioner.

    Anledningen att alternativet finns är helt enkelt för att utvecklare (och annat nyfiket folk..) skall kunna testa.
     
    foxman gillar detta.
  3. blunden

    blunden Professional Droid Hedersmedlem

    Blev medlem:
    11 jun 2009
    Inlägg:
    3 265
    Mottagna gillanden:
    534
    Telefon:
    Pixel 7 Pro

    MINA ENHETER

    Telefon:
    Pixel 7 Pro
    Telefon 2:
    OnePlus 7 Pro
    ROM:
    LineageOS 20.0
    Telefon 3:
    Xiaomi Mi MIX
    ROM:
    LineageOS 19.1
    Platta:
    LG G Pad 8.3
    ROM:
    LineageOS 14.1
    Övrigt:
    GW4 Classic, Huawei Watch, Moto 360, Nvidia Shield TV
    Det Blondyz skriver ovan stämmer. Det kan dock vara värt att förtydliga att GPU-rendering skulle fungera out of the box om utvecklarna varit noga med att följa specifikationen 100%. Tyvärr uppförde sig inte den tidigare rendering/compositing-koden helt enligt den. Resultatet blev att man inte alltid som utvecklare behövde vara så noga med att invalidera sin apps views då en del av det hände ändå, trots att specifikationen inte garanterar det. Den nya koden fungerar som specifikationen säger och därmed kan den skapa kompatibilitetsproblem. Detta är anledningen till att Google inte bara satte GPU-rendering som till aktiverad som standard utan som nu låter det vara opt-in.
     
  4. Hagel

    Hagel Kid Droid Medlem

    Blev medlem:
    8 mar 2010
    Inlägg:
    37
    Mottagna gillanden:
    4

    MINA ENHETER

    Kan tillägga att GPU-rendering inte alltid är att föredra, därav kommer det fortsätta vara möjligt att som utvecklare välja att inte använda det. Exempelvis krävs det en del minne för att använda det per process vilket gör att man på t.ex Galaxy S valt att inte ha det aktivt överallt. Att det finns som alternativ att tvinga är ju som tidigare sagts ett val under utvecklingsdelen och kan vara ett bra verktyg för utvecklare att testa hur deras appar funkar i respektive rendering.

    Viss form av hårdvaru-rendering skall enligt uppgift ha använts redan sedan innan Android 1 om jag inte minns fel. :)

    Sent from my Transformer TF101 using Tapatalk
     
  5. Mr*Gibson

    Mr*Gibson Teen Droid Medlem

    Blev medlem:
    24 apr 2010
    Inlägg:
    273
    Mottagna gillanden:
    22

    MINA ENHETER

    Man kan ju tillägga att vissa apps inte alls gillar att man tvingar GPU-rendering. Till exempel "App List" (som tillverkar en textfil med alla installerade apps och lägger den på SD-kortet) blir oanvändbar med valet akvtiverat. Den annars så stora knappen blir pytteliten och väldigt svår att trycka på :)
    Jag antar att apparna måste anpassas.
     
  6. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 aug 2009
    Inlägg:
    2 111
    Mottagna gillanden:
    123

    MINA ENHETER

    Sen finns det en del saker som inte går att göra eller som blir mycket långsammare om man vill ha GPU accelerering.
     
  7. doktorn

    doktorn Adult Droid Medlem

    Blev medlem:
    22 jun 2009
    Inlägg:
    767
    Mottagna gillanden:
    115

    MINA ENHETER

    Det har funnits gpu rendering i tidigare versioner av android också (åtminstone sedan 2.3). Men det är i 4an som gränssnittet är aktiverat så som standard.
    Att man inte har det som standard och heller inte alltid föredrar det stavas multitasking.
    Varje instans av gpu accellerering snor åt sig minst 8mb ram.

    På ios är det inget problem, eftersom den inte har samma implementation. Jag antar att de löser det genom att accellereringen delas mellan programmen. Det ger en sämre säkerhet, och med fel implementation i program kan man döda hela systemet.

    Ska programmen fortfarande köras sandboxed i Android, måste alltså varje process med någon grafisk design starta en egen instans för gpu accellerering, om det vore tvingande.
    Nu har man valt en annan väg för att spara minne.
    Det är alltså säkerhet och resurser som fått styra.
     
  8. rimion

    rimion Youth Droid Medlem

    Blev medlem:
    12 jun 2009
    Inlägg:
    179
    Mottagna gillanden:
    64
    Operatör:
    Telia
    Telefon:
    Google Pixel 6

    MINA ENHETER

    Operatör:
    Telia
    Telefon:
    Google Pixel 6
    Platta:
    Samsung Galaxy Tab S4
  9. blunden

    blunden Professional Droid Hedersmedlem

    Blev medlem:
    11 jun 2009
    Inlägg:
    3 265
    Mottagna gillanden:
    534
    Telefon:
    Pixel 7 Pro

    MINA ENHETER

    Telefon:
    Pixel 7 Pro
    Telefon 2:
    OnePlus 7 Pro
    ROM:
    LineageOS 20.0
    Telefon 3:
    Xiaomi Mi MIX
    ROM:
    LineageOS 19.1
    Platta:
    LG G Pad 8.3
    ROM:
    LineageOS 14.1
    Övrigt:
    GW4 Classic, Huawei Watch, Moto 360, Nvidia Shield TV
    Absolut. Androids status bar är ett sådant exempel. Det jag syftade på var varför alternativet är opt-in snarare än opt-out som man annars kanske skulle tänka sig.

    Nja, iOS använder inte så mycket faktisk multitasking för appar så det är troligen därför.

    Anledningen med kompabilitet skulle jag tro väger tyngre än den ökade RAM-användningen, även om den ju naturligtvis är en faktor på speciellt äldre enheter.
     
  10. doktorn

    doktorn Adult Droid Medlem

    Blev medlem:
    22 jun 2009
    Inlägg:
    767
    Mottagna gillanden:
    115

    MINA ENHETER

    Å jo, det är ett jäkligt smart system de gjort, även om jag själv aldrig vill ha en. Att bagatellisera deras lösning är att inte vara objektiv.
    Det finns brister i både ios och Android och jag står ut med androids, även om jag önskar mig en ännu effektivare garbage collector och en smartare trådhantering där systemet snabbare prioriterar rätt. Där är ios fortfarande lite bättre. Resten tål jag inte. :-) men lösningen de gjort är väldigt genomtänkt, om man står ut med bristerna med den.

    Resten har du alldeles rätt i.
     
    bombay gillar detta.