Зная, сколько можно загрузить в three.js - PullRequest
0 голосов
/ 05 февраля 2019

Итак, я изучал загрузку моделей персонажей и небольшое стресс-тестирование, загружая одну и ту же модель несколько раз, чтобы создать армию.Хорошо работал на высококлассном компьютере, но при тестировании на 32-разрядном рабочем ноутбуке выдает ошибку Out Of Memory.Мой вопрос: есть ли способ узнать, сколько памяти займет модель, будь то внешние файлы или сгенерированные во время выполнения, затем выяснить, сколько клиент может обработать, и соответствующим образом уменьшить использование памяти (меньшая армия, низкая загрузкаконечные модели, уменьшить размер текстуры и т. д.)?

1 Ответ

0 голосов
/ 06 февраля 2019

Из-за проблем безопасности и конфиденциальности WebGL не имеет доступа к памяти системы или возможностям обработки.Он был разработан таким образом, чтобы предотвратить злонамеренное поведение, поэтому нет способа узнать, сколько моделей он может обработать до сбоя.

Однако WebGL имеет доступ к нескольким возможностям графического процессора.Если вы посмотрите Three's WebGLRenderer.capabilities, вы увидите, что у вас есть доступ к нескольким максимальным значениям.Вы можете использовать их в качестве точек сравнения, а затем определить, что представляет собой «высокопроизводительный» и «низкоуровневый» компьютер на основе вашего варианта использования.Вы можете увидеть красиво отформатированный вывод с теми же возможностями, посетив http://webglreport.com/ на любом компьютере, и вы можете увидеть глобальные возможности устройства на http://webglstats.com/

Кроме того, вы должны взять screen.width иscreen.height во внимание.Вам не нужно загружать текстуры и модели высокой четкости, если ширина или высота устройства не превышают 1000 пикселей.

Наконец, вы можете предоставить пользователю возможность выбрать «Высокий» или«Низкий» опыт и пусть они сами определяют.

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