sto lavorando disegno grandi grafo aciclico diretto in WebGL utilizzando la libreria gwt-G3D secondo la tecnica qui mostrata: http://www-graphics.stanford.edu/papers/h3/Disegno di una struttura ad albero 3D WebGL
A questo punto, ho un semplice due livelli il rendering grafico:
prestazioni è terribile - ci vogliono circa 1,5-2 secondi per rendere questa cosa. Non sono un esperto di OpenGL, quindi ecco l'approccio generale che sto prendendo. Forse qualcuno può indicare alcune ottimizzazioni che renderanno questo rendering più veloce.
Sono stupito quanto tempo ci vuole per spingere la matrice modelview e buffer per la scheda grafica. Questo è dove la parte del leone del tempo è sprecata. Dovrei invece fare le trasformazioni di MODELVIEW nel vertex shader?
Questo mi porta a credere che la manipolazione della matrice modelview e spingendolo volta per ciascun nodo non dovrebbe essere una cattiva pratica, ma i tempi non si trovano:
Come hai fatto a farlo? I tempi mentono. Alcuni browser sono parallelizzati, quindi i tempi sono difficili. In ogni caso, stai dicendo che ci vogliono da 1 a 2 secondi per frame? Non capisco bene cosa stai facendo, ma un semplice grafico di scena con 24 cubi tutti genitoriali per un centro dovrebbe funzionare a 60hz. Stai (1) compilando shader una volta, non nel tuo ciclo di rendering (2) Non chiamate alcuna funzione glGet nel tuo ciclo di rendering? (3) caricare i dati dei vertici solo una volta, non nel ciclo di rendering? Spero che quelle non siano domande stupide, ma dovresti essere in grado di disegnare ~ 1000 cubetti a una velocità ragionevole. – gman