Qualcuno può dirmi come alcuni codici css3 (transizioni / trasformazioni) ottengono l'accelerazione dell'hardware? In altre parole, cosa succede realmente quando il browser vede css3, qual è la pipeline / processo in questione?
Non conosco i dettagli delle rispettive implementazioni, ma presumo che i browser passino attraverso alcune API 3D per il rendering delle pagine, non solo per le cose specifiche di CSS3, ma per tutto. Una semplice implementazione di una transizione renderebbe entrambe le versioni della transizione su trame, quindi per ogni fotogramma disegnare il secondo sopra il primo con opacità crescente.
Per le trasformazioni, è semplice come cambiare la matrice di visualizzazione corrente (modelview matrix in OpenGL gergo) per produrre l'effetto desiderato.
Alcune cose che sono state in CSS prima della versione 3 possono anche beneficiare dell'accelerazione hardware; per esempio, per rendere i glifi anti-alias, si può rendere il testo su una trama a, diciamo, 8 volte la dimensione desiderata, quindi usare il filtro trilineare (che, di nuovo, si ottiene gratuitamente sull'hardware 3D) per ridimensionarlo .