Suuret tietojoukot
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
ArtikkeliSpring Data JPA grid: sort, filter, and page in Java
ArtikkeliJava Data Grid: Build Fast, Sortable Tables with webforJ
ArtikkeliwebforJ Components: What Ships With the Framework
ArtikkeliBuild internal tools in Java: a framework decision guide
ArtikkeliMaking Data Display Less Boring in webforJ