Huomasitko? Google Chrome muuttui Androidilla 48 prosenttia vähemmän nykiväksi

Huomasitko? Google Chrome muuttui Androidilla 48 prosenttia vähemmän nykiväksi 1

Chrome Androidilla.

kertoo vähentäneensä Chrome-verkkoselaimensa -sovelluksen vierityksen nykimistä 48 prosentilla vuosien 2023 ja 2026 välillä.

Chrome erityisesti Androidilla saattoi aiemmin kärsiä töksähtelevästä käytettävyydestä, mutta nyt tilanne on parantunut selvästi.

Google kuvailee vierityksen nykimistä yhdeksi suurimmista käyttökokemuksen häiriötekijöistä.

Vieritys tuntuu sulavalta vain, jos selain pystyy tuottamaan jokaisen uuden kuvan ajoissa ennen näytön seuraavaa päivitystä. 60 hertsin näytöllä uusi ruutu pitää saada valmiiksi noin 16,7 millisekunnissa.

Huomasitko? Google Chrome muuttui Androidilla 48 prosenttia vähemmän nykiväksi 3

Google on systemaattisesti jatkuvasti onnistunut vähentämään vierityksen nykimistä Chrome-selaimessa Androidilla.

Jos Chrome ei ehdi käsitellä uutta vierityspaikkaa ajoissa, näyttö joutuu näyttämään vanhaa sijaintia yhden päivityssyklin ajan. Käyttäjän silmälle tämä näkyy äkillisenä töksähdysenä tai nykäyksenä.

Googlen mukaan Chromen arkkitehtuuri tekee ongelmasta erityisen haastavan. Tavalliseen Android-sovellukseen verrattuna Chromessa on erilliset selain-, renderöinti- ja GPU-prosessit. Tämä parantaa vakautta, tietoturvaa ja suorituskykyä, mutta samalla vieritykseen liittyvä tieto joutuu kulkemaan useiden prosessien ja säikeiden läpi.

Kun käyttäjä koskettaa näyttöä, laitteisto luo syötetapahtuman. Se saapuu ensin selainprosessiin, jossa päätellään, mihin sivun osaan kosketus kohdistuu. Sen jälkeen tieto välitetään renderöintiprosessiin, joka laskee uuden vierityssijainnin.

Samaan aikaan näytön päivitystä ohjaavat VSync-signaalit kulkevat omaa reittiään GPU-prosessin kautta renderöintiprosessiin. Lopuksi uusi ruutu lähetetään takaisin GPU-prosessiin, joka muodostaa pikselit näytettäväksi käyttöjärjestelmälle.

Lisähaasteena Chrome kuluttaa puskuroimatonta syötettä suoraan laitteistolta, joten kosketustapahtumat eivät saavu aina tasaisessa rytmissä. Niitä voi tulla useita yhden näytöpäivityksen aikana.

Google on parantanut nykimisongelmaa monilla muutoksilla.

Yksi keskeinen parannus on syötteen ennustaminen. Jos käyttöjärjestelmän kosketustapahtuma saapuu liian myöhään, Chrome voi luoda synteettisen vierityspäivityksen ja ennustaa tulevan vierityssijainnin aiemmin havaitun liikeradan perusteella. Tämä auttaa tilanteissa, joissa selain ei voi enää odottaa oikeaa syötetapahtumaa ilman riskiä ruudun myöhästymisestä.

Toinen merkittävä muutos koskee Androidin selaimen yläpalkkeja ja muita ohjauselementtejä. Kun käyttäjä vierittää sivua alaspäin, selaimen ohjaimet liukuvat pois näkyvistä samaan tahtiin sivun kanssa. Aiemmin tämän synkronointi vaati selainprosessin pääsäikeen osallistumista jokaiseen ruutuun, mikä loi paljon mahdollisuuksia nykimiselle. Google muutti arkkitehtuuria niin, että GPU-prosessi voi soveltaa kunkin ruudun vierityssijaintia selaimen ohjainten kuvakaappaukseen ilman, että selainprosessin pääsäikeeseen täytyy ottaa jatkuvasti yhteyttä.

Google teki parannuksia Chromen toiminnan ohella myös Android-käyttöjärjestelmään

Joissakin tilanteissa kosketustapahtumat saapuivat Chromeen liian hitaasti, koska niitä toimittavat käyttöjärjestelmän säikeet jäivät muiden tehtävien jalkoihin. Google teki Android-tiimin kanssa muutoksia varmistaakseen, että laitteiston syötetapahtumien toimittamisesta Chromeen vastaavilla säikeillä on riittävän korkea prioriteetti.

Googlen eri muutoksilla saavuttama 48 prosentin vähennys vierityksen nykimisessä on merkittävä parannus. Sulava vieritys saa koko selaimen ja laitteen käyttökokemuksen tuntumaan sujuvammalta.