OpenGL, стоит ли явно отвязывать после вызова ничьей?
Мне кажется более чистым отменить привязку с помощью glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0)
и/или glBindBuffer(GL_ARRAY_BUFFER, 0)
в конце данного вызова рисования. Мне нравится быть уверенным, что ничто не связано, что не должно быть; однако, есть ли большая часть производительности для этого?
Кто-нибудь подумает о том, чтобы сделать это "чистым" способом быть полезным? Или я должен просто спуститься по быстрому и неряшливому маршруту?
(Да, я знаю, что объект связанного буфера будет заменен следующим объектом буфера, который должен быть привязан к этой цели, в любом случае - будь то в этом или следующем обновлении рендеринга. И да, я мог бы выполнить тесты производительности Но быстрый ответ человека был бы приятным.)
Ответы
Ответ 1
Я бы отключил чистоту во время кодирования, а затем оптимизировал все это до выпуска.
Преимущества в том, что вы можете реорганизовать свой код, не беспокоясь о изменениях состояния, но в конечном итоге все же оптимизировали изменения состояния. И вы будете тратить часть времени на фактическую оптимизацию.
С точки зрения производительности, если у вас есть тысячи дополнительных отключений, будут накладные расходы, но вряд ли это будет вашим узким местом.