setTexture в проблемах с производительностью three.js

Когда я меняю текстуру своего меша, на некоторых компьютерах приложение зависает примерно на полсекунды. Я делаю это на 100 различных сетках. В профилировщике Chrome я вижу, что метод Three.js setTexture превышает использование ЦП.

Метод, который я использую для нанесения следующей текстуры, самый простой:

this.materials.map = this.nextTexture;

Это работает, но я понятия не имею, как это оптимизировать. Если вместо этого использовать систему частиц, улучшит ли это что-то?

Большое спасибо


person BaptisteB    schedule 13.12.2012    source источник
comment
Какие функции в three.js занимают много времени?   -  person Alex Wayne    schedule 14.12.2012
comment
Не могли бы вы показать больше кода? Вы повторно используете новую текстуру для всех сеток или каждая сетка имеет свою собственную текстуру?   -  person mrdoob    schedule 17.12.2012


Ответы (1)


Вы действительно используете 100 различных текстур?

Попробуйте отсортировать объекты по текстуре, чтобы свести к минимуму замену текстур.

Изменение текстуры — одна из самых дорогих операций графического процессора.

person bjorke    schedule 15.12.2012