FWGS / xash3d-fwgs

Xash3D FWGS engine
1.58k stars 241 forks source link

Работа R_GenerateVBO при наличии кастомного рендера #1805

Closed Aynekko closed 2 months ago

Aynekko commented 3 months ago

У меня в XashXT есть строчки такого вида при запуске карты

Note: R_GenerateVBO: allocated array of 65530 verts, texture 217, lm 0
Note: R_GenerateVBO: allocated array of 29279 verts in 0.021 seconds
Note: R_GenerateVBO: uploaded VBOs in 0.0252 seconds, 0.0461 seconds total

Но т.к. у меня кастомный рендер, я так понимаю, что это пустая работа - это ведь относится только к движковому рендеру, если я правильно понял? gl_vbo у меня выставлен ноль. Может пропускать эту функцию в случае наличия своего рендера?

a1batross commented 3 months ago

VBO приватный для ref_gl, даже если мод захочет использовать уже сгенерированные двжиком VBO наврядли у него это получится. Поэтому тут можно действительно пропускать генерацию если есть кастомный рендерер.

Другое дело что заранее знать используется ли кастомный рендерер для отрисовки сцены нельзя.

Как вариант, можно откладывать генерацию VBO до включения gl_vbo пользователем. Это и память, и время сэкономит. Тем более что вернуться к #1733 я ещё не скоро смогу.

a1batross commented 2 months ago

Сделано в https://github.com/FWGS/xash3d-fwgs/commit/55c1bddac5b12090396608a451f9bf83c5ad8839

Если мод ориентируется в первую очередь на кастомный рендерер, лучше всего выставить дефолтное значение gl_vbo в 0, например я задавал дефолтные значения кваров модам через .rc файл. Можно и в UI спрятать опцию для gl_vbo.