Ho molte particelle con i vertici che cambiano ogni fotogramma. I vertici sono attualmente disegnati usando un array di vertici nella memoria "client". Quali caratteristiche di prestazione posso aspettarmi se utilizzo un oggetto buffer vertice?L'utilizzo di Vertex Buffer Object per dati molto dinamici è una buona idea per quanto riguarda le prestazioni?
Dal momento che devo usare un numero di glBuffersubData per aggiornare i vertici delle particelle, sto quindi trasferendo i vertici alla memoria video ogni fotogramma in ogni caso a destra (come vorrei se usassi un normale array di vertici)? C'è qualche vantaggio per VBO in questo caso?
Questo è per dispositivi iOS. La vera chiamata di disegno: glDrawElements (GL_POINTS, num_particles, GL_UNSIGNED_SHORT, pindices);
Devo usare GL_STREAM_DRAW
o GL_DYNAMIC_DRAW
?
Non penso sia vero che i VBO siano sempre ottimali, il sovraccarico causato da numerosi BufferSubDatas o ancor peggio mapBuffer (perché deve copiare il buffer sul client) potrebbe essere peggio del sovraccarico degli array di vertici. E 'vero che merita davvero un test approfondito per videocard per sapere con certezza, sto solo vedendo se riesco a trarre dalla conoscenza delle folle ... dal momento che non vale la pena di test nel mio caso a questo punto. –