Я роблю 3D-гру від першої особи. Чи повинен я дати кожному персонажу своє власне VBO або я повинен об'єднати всі символи в одну VBO? Які плюси / мінуси?
Я роблю 3D-гру від першої особи. Чи повинен я дати кожному персонажу своє власне VBO або я повинен об'єднати всі символи в одну VBO? Які плюси / мінуси?
Відповіді:
Це дійсно вибір між продуктивністю та гнучкістю, але я перерахую свої думки щодо цього.
Один єдиний VBO
Позитивні сторони:
і негативні сторони:
Індивідуальний VBO: s
Позитивні сторони:
і негативні сторони:
Підсумок
Я рекомендую вам профайлювати свою заявку; отримати справжнє вузьке місце в даних, які ви можете бачити. Передчасна оптимізація може бути показана (у цьому випадку) як непотрібна. Однак, якщо говорити, якщо ви виявите реальну втрату продуктивності у своїй програмі, враховуючи індивідуальний сценарій VBO: s , ви можете приступити до впровадження одного VBO.
Однак, поки це не потрібно (кількість об’єктів низька, загалом не багато змін стану тощо), я б рекомендував перейти з окремими VBO: s, якщо ви не побачите, що це не спрацює.
Редагувати
Я забув зазначити, що це було б добре з кількома дзвінками. Найважливіше в критичні періоди ефективності - мінімізувати зміни стану. Ви можете просто встановити кількість індексів для обробки та зміщення для кожного розіграшу дзвінка, і це добре. Але, щоб зміни штату були максимально низькими і здійснювали якомога менше дзвінків, це велике привіт у цій відповіді, або принаймні те, що я намагався сказати.