Для оптимизации шейдеров под слабые видеокарты можно предпринять следующие шаги:
- Вычислять только то, что нужно. 3 Чем больше вычислений и обработки требуется коду шейдера, тем больше это повлияет на производительность игры. 3 Например, по возможности стоит перенести вычисления из кода пиксельного шейдера в вершинный или полностью убрать их из шейдеров и установить значения в сценарии. 3
- Использовать низкую возможную точность вычислений. 3 Это особенно важно на низкоуровневом оборудовании. 3 Для позиций в мировом пространстве и координат текстуры следует использовать точность float, для всего остального (векторы, цвета HDR и т. д.) — половинную точность, увеличивая её только при необходимости. 3 Для очень простых операций с текстурными данными — фиксированную точность. 3
- Включить кэширование шейдеров. 2 Благодаря этой функции сохранение шейдеров будет происходить на жёстком диске, а их использование — по мере необходимости, без повторной компиляции. 2
Также для оптимизации под слабые видеокарты можно использовать лёгкие оптимизированные шейдеры, например, Bloominx Shaders для Minecraft. 4 Для этого нужно выбрать подходящую под мощность компьютера версию (Lite, Medium, High или Extreme) и установить OptiFine. 4
Если эти действия не помогли, возможно, стоит задуматься об обновлении «железа». 2