In questi giorni il team di sviluppatori ha pubblicato un articolo su WebRender nel blog dedicato allo sviluppo dei componenti di Servo. In questo post i developer descrivono anche come i vari browser per la navigazione Internet disegnano le pagine web. Prima di tutto bisogna osservare il risultato della layout computation che è come un albero di elementi posizionati nella pagina chiamato frame tree.

  • Dal frame tree viene generata la maggior parte della flat list per i drawing commands che viene chiamata display list.
  • Le porzioni della display list vengono disegnate nei layers, quest'ultima parte viene svolta solitamente da librerie come Cairo, Skia o Direct2D.
  • I layers vengono combinati assieme per generare l'immagine finale (compositing phase).

In Firefox i layers vengono disegnati durante l'elaborazione dei contenuti, ovvero prima del processo del compositor. Tuttavia esistono anche approcci diversi da questo, simili a quello usato nel progetto Chromium, i developer Google infatti bypassano la creazione del display list e passano direttamente al disegno dei layers.

Entrambi gli approcci hanno aspetti negativi e positivi, inoltre diversi browser delegano al sistema operativo il compito di eseguire il processo di rendering 2D, ciò avviene ad esempio in soluzioni proprietarie come Microsoft Edge e Apple Safari. Quest'ultimo approccio sembra essere la scelta che adotterà anche Google Chrome su Windows per le prossime build di testing.

Via Mozilla Gfx Team Blog

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *