Насколько количество шейдеров в памяти влияет на производительность? - PullRequest
2 голосов
/ 26 марта 2012

При управлении шейдерами, имеет ли смысл постоянно их компилировать и хранить в памяти? Или лучше иметь в памяти только те шейдеры, которые мне нужны, и выгружать те, которые некоторое время не использовались?

1 Ответ

2 голосов
/ 26 марта 2012

В зависимости от приложения, наиболее важным фактором, вероятно, будет то, что вы не хотите иметь ситуацию блокировки, когда текущему кадру нужен материал, который использует незагруженный шейдер, и вы должны перезагрузить / скомпилировать его, прежде чем кадр сможет продолжить рендеринг. , следовательно, блокирует рендеринг и, возможно, вызывает сбой в частоте кадров. Если вы можете избежать этого и предварительно перезагрузить шейдеры непосредственно перед тем, как они понадобятся, тогда все должно быть в порядке.

Но я бы сначала выполнил некоторое профилирование памяти, чтобы посмотреть, сколько памяти занимают шейдеры - мне кажется, что это микрооптимизация (если только у вас не слишком много загруженных шейдеров). Я думаю, вы бы сэкономили гораздо больше памяти, сосредоточившись на текстурах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...