Siirry pääsisältöön

Suuret tietojoukot

Avaa ChatGPT:ssä

Virtuaalivieritys​

Table-komponentti on suunniteltu käsittelemään suuria tietojoukkoja tehokkaasti virtuaalivierityksen avulla. Virtuaalivieritys on verkkosovelluksissa käytetty tekniikka, jolla optimoidaan suurten luetteloiden tai taulukoiden renderöintiä ja suorituskykyä renderöimällä vain näytöllä näkyvät kohteet.

Ensimmäinen renderöinti​

Virtuaalivieritys on suunnittelumalli, jossa aluksi renderöidään vain pieni osajoukko kohteista, jotka mahtuvat vieritettävän säilön näkyvälle alueelle. Tämä minimoi luotavien DOM-elementtien määrän ja nopeuttaa ensimmäistä renderöintikertaa.

Dynaaminen lataaminen​

Kun käyttäjä vierittää näkymää ylös tai alas, uusia kohteita ladataan näkymään dynaamisesti. Nämä kohteet haetaan yleensä tietolähteestä nykyisen vierityskohdan perusteella.

Kohteiden kierrättäminen​

Jokaiselle kohteelle ei luoda uutta DOM-elementtiä, vaan virtuaalivierityksessä käytetään usein olemassa olevia DOM-elementtejä uudelleen. Kun kohde siirtyy pois näkyvältä alueelta, sen DOM-elementti kierrätetään ja otetaan käyttöön uudelle näkyvälle alueelle tulevalle kohteelle. Tämä kierrätysprosessi vähentää muistin käyttöä ja parantaa suorituskykyä.

Suorituskykyedut​

Virtuaalivierityksen tärkein etu on suorituskyvyn paraneminen erityisesti silloin, kun käsitellään suuria määriä kohteita. Se vähentää DOM-muokkauksia ja parantaa käyttöliittymän yleistä reagointikykyä.

Alla oleva Table näyttää kaikki olympiavoittajat. Kyseessä on suuri tietojoukko, joka hyötyy merkittävästi taulukon virtuaalivieritystoiminnosta:

Ylirenderöinti​

Taulukon Overscan-ominaisuus määrittää, kuinka monta riviä renderöidään näkyvän alueen ulkopuolelta. Asetuksen voi määrittää setOverscan(double value)-metodilla.

Suurempi ylirenderöinnin arvo voi vähentää renderöintikertojen tiheyttä vieritettäessä, mutta samalla renderöidään enemmän rivejä kuin kerralla on näkyvissä. Tämä voi muodostaa kompromissin renderöintisuorituskyvyn ja vierityksen sulavuuden välillä.

Jatka oppimista

webforJ-tiimi

Tarvitsetko apua?

Keskustele webforJ:n insinöörien kanssa projektistasi.

Varaa puhelu

Puhumme EN · DE · FR · ES