Когда у меня открыто приложение THREE. js в Chrome, мой браузер плохо перетаскивает - PullRequest
1 голос
/ 01 августа 2020

Я создаю небольшую 2D-игру с THREE. js, и я только что заметил, что пока у меня открыта вкладка с моим THREE. js приложение загружено, остальные мои вкладки начинают перетаскивать со скоростью улитки. Но когда я переключаю вкладки, это означает, что вкладка ТРИ. js скрыта, все возвращается в нормальное состояние. Есть ли способ обойти это? Я считаю, что это, скорее всего, как-то связано с рекурсивной функцией requestAnimationFrame (render). Любые советы по оптимизации THREE. js requestAnimationFrame?

1 Ответ

1 голос
/ 01 августа 2020

Большинство 3. js установок повторно визуализируют сцену 60 раз в секунду, что является непростой задачей для многих машин. Запуск веб-сайта WebGL всегда будет более ресурсоемким, чем стандартная страница HTML. Оптимизация каждого кадра полностью зависит от того, что вы используете, поэтому нет однозначного ответа на вопрос, как это оптимизировать. Это почти всегда баланс между производительностью и визуальным качеством. Вот несколько распространенных виновников, которые могут вызывать проблемы с производительностью, хотя этот список далеко не исчерпывающий:

  • High Me sh count (попробуйте объединить геометрии и экземпляры , когда сетки повторить)
  • Слишком много источников света (попробуйте запечь карты освещения , чтобы использовать как можно меньше динамических c источников света)
  • Рендеринг с высоким DPI (попробуйте установите соотношение пикселей 1 , если возможно)
  • Сглаживание (без AA дешевле, чем с использованием AA)
  • Сложные тени (попробуйте запечь тени вместо использования Dynami c тени, когда это возможно)
  • Сложные шейдеры (некоторые фотореалистичные c шейдеры могут быть дорогими в вычислении)
  • Дорогая постобработка
  • Полноэкранный рендеринг (рендеринг на 1920x1080 намного дороже, чем 1024x768)
  • Дискретный графический процессор (наличие отдельной видеокарты дает значительно лучшую производительность, чем общая обработка графики в ЦП. Многие ноутбуки не имеют отдельной графической карты. hics card, что приводит к снижению производительности).
...