я должен загрузить только конкретные элементы (более тысячи) массива вершин на каждом кадре - или всей области между первым и последним измененным значением , однако он довольно неэффективен, из-за того, что у него есть вероятность перезагрузить весь массив, так или иначе будут загружены многие неизменные значения.быстрый способ передачи данных вершин на GPU в OpenGL/CUDA
Вопрос также включает в себя, что самые быстрые способы загрузки данных вершин на GPU.
Есть несколько способов сделать это:
glBufferData()/glBufferSubData() // Standard upload to buffer
glBufferData() // glBufferData with double buffer
glMapBuffer() // Mapping video memory
cudaMemcpy() // CUDA memcopy from host to device vertex buffer
который будет самым быстрым? Я особенно обеспокоен способом CUDA, и это отличие от стандартных методов OpenGL. Это быстрее, чем glBufferData() или glMapBuffer()?
Да, это был бы простой шаг, но я должен изменить всю реализацию проекта несколько раз, чтобы сравнить все их. – plasmacel
сложно ответить ... иногда загрузка всего блока памяти может быть намного быстрее, чем загрузка определенных (только измененных) элементов. – fen