Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
7 / 6 / 3
Регистрация: 30.03.2023
Сообщений: 43
1

Оптимизация игры с большим количеством объектов

29.05.2023, 16:45. Показов 1814. Ответов 6

Author24 — интернет-сервис помощи студентам
Моя игра будет иметь множество объектов (возможно и 10 тысяч), состоящих из трех кругов и нескольких цилиндров. Но при 500 объектов у меня происходит большой упадок фпс. После нескольких тестов оказалось, что проблема в рендеринге объекта. Я где-то слышал, что на процессор влияет сильно тени и рендеринг меша. Так вот у меня несколько вопросов:

1) Как снизить качество теней, сглаживания и прочих параметров у импортированного blend файла?
2) Как грамотно реализовать снижение качества по мере удаления камеры от объекта?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2023, 16:45
Ответы с готовыми решениями:

Оптимизация производительности проекта с большим количеством объектов Image
И снова здравствуйте =) У меня на одной из форм очень много Image. И при нажатии на соответствующую кнопку, что бы перейти к данной форме,...

Оптимизация и автоматизация работы с большим количеством данных
Прошу прощения за краткость в названии темы, но коротко ее не опишешь. Дело вот в чем. Мой отец - заядлый коллекционер, и у него...

Оптимизация отчета с большим количеством формул СУММПРОИЗВ
Уважаемые эксперты, прошу помочь в решении следующей задачи. Дано: 1. Дерево отчета неизменно и содержит порядка 300...

6
1061 / 271 / 146
Регистрация: 30.07.2022
Сообщений: 1,699
Записей в блоге: 4
29.05.2023, 16:57 2
vizer, в пояснении контекста маловато.

но вот на вскидку



Добавлено через 3 минуты
Цитата Сообщение от vizer Посмотреть сообщение
Как грамотно реализовать снижение качества по мере удаления камеры от объекта?
при таком количестве объектов система LOD будет сильнее нагружать систему, а не оптимизировать её.
также можно ограничить дальность отрисовки объектов у камеры.
0
7 / 6 / 3
Регистрация: 30.03.2023
Сообщений: 43
29.05.2023, 17:16  [ТС] 3
У меня проблема не в коде, а в рендеренге объектов. Мне бы хотя бы отключить тени, но я не знаю как их убрать у blend файла. Или их нужно отключать перед импортом в blender? По поводу лодов: я хочу повышать качество объекта только когда камера находится очень близко к нему, или лоды сами по себе тяжелые для компьютера?
0
1061 / 271 / 146
Регистрация: 30.07.2022
Сообщений: 1,699
Записей в блоге: 4
29.05.2023, 22:02 4
Цитата Сообщение от vizer Посмотреть сообщение
отключить тени,
отключить тени у объекта можно так. разумеется у объекта в сцене.

Оптимизация игры с большим количеством объектов
0
1061 / 271 / 146
Регистрация: 30.07.2022
Сообщений: 1,699
Записей в блоге: 4
29.05.2023, 22:12 5
Цитата Сообщение от vizer Посмотреть сообщение
или лоды сами по себе тяжелые для компьютера?
лоды содержат в себе сразу несколько моделей. и даже если оны выключены на их просчет тоже тратятся ресурсы компа(хотя бы на его трансформ(пусть это и копейки.)).
а вот когда вы его включаете, подгружается геометрия, материал, текстуры, анимации, начинают работать скрипты. И чем больше таких объектов будет включаться в кадре, тем больше будет нагрузка на систему.

выгрузка всего того же при сокрытии объекта также изрядно подъесть ресурсы.

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

Поэтому при большом количестве объектов лоды не рекомендуют.

PS: ну это при любом раскладе субъективно все. и из проекта в проект решение может разниться.
0
7 / 6 / 3
Регистрация: 30.03.2023
Сообщений: 43
30.05.2023, 12:04  [ТС] 6
Но у меня импортированный blend объект, у него не в настройках импорта, не в префабе нет настройки теней.

Добавлено через 2 минуты
Цитата Сообщение от devillived Посмотреть сообщение
отключить тени у объекта можно так. разумеется у объекта в сцене.
Но у меня импортированный blend объект, у него ни в настройках импорта, ни в префабе, ни на объекте нет настройки теней.
0
283 / 247 / 105
Регистрация: 26.10.2012
Сообщений: 771
31.05.2023, 07:40 7
Цитата Сообщение от devillived Посмотреть сообщение
но вот на вскидку
Ну так себе оптимизация.
Вместо List мог бы сделать и LinkedList для быстрого удаления.
C#
1
2
3
4
private void RotateCube(){
    var rotationY = Quaternion.AngleAxis(1, Vector3.up);// хэшировать, а не вычислять
    transform.rotation *= rotationY; // transform тоже лучше хэшировать
}
В один DrawCall все это так и не рисуется, тут чистая брехня.

ТС советую почитать про батчинг, если он собирается рисовать много объектов.
Надо учитывать, что встроенный батчинг не действует на тени. Ну то есть базовый юнити объединит 100 мешей- кубиков в одну меш со 100 submesh-ами кубиками, но теневой проход все равно будет рассматривать эту одну меш со 100 submesh-ами как 100 мешей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2023, 07:40
Помогаю со студенческими работами здесь

Нужен код с большим количеством вложенных циклов и с большим количеством вложенных ветвлений
Нужен код программы в консольном режиме на Python 200-300 строк с большим количеством вложенных циклов и с большим количеством вложенных...

Методики обучения multilabel классификаторов c большим (и очень большим) количеством классов
Есть ли особенности обучения multilabel классификатора c большим количеством классов или общепринятые ограничения на количество multilabel...

Сервер с большим количеством клиентов
Собственно возник вопрос как организовать такое? Как люди делают сервера, которые при этом не падают и обслуживают одновременно 3000 и...

Заполнить БД большим количеством значений
Спроектирована база данных "Доставка товаров". Сложности вызывает заполнения связанных таблиц Заказ - ЗаказДоставка - Доставка для...

Запрос к БД с большим количеством записей
Привет всем! Подскажите кто может, как уменьшить время запроса к базе mysql с 30 млн. записей? Запрос вида: SELECT * FROM...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
Apache Airflow для оркестрации и автоматизации рабочих процессов
Mr. Docker 16.03.2025
Управление сложными рабочими процессами — одна из главных головных болей инженеров данных и DevOps-специалистов. Представьте себе: каждый день нужно запускать десятки скриптов в определенной. . .
Оптимизация приложений Java для ARM
Javaican 16.03.2025
ARM-архитектура переживает настоящий бум популярности в технологическом мире. Когда-то воспринимаемая исключительно как решение для мобильных устройств и встраиваемых систем, сегодня она штурмует. . .
Управление состоянием в Vue 3 с Pinia и Composition API
Reangularity 16.03.2025
Когда я начал работать с Vue несколько лет назад, мне казалось достаточным использовать простую передачу данных через props и события между компонентами. Однако уже на среднем по сложности проекте. . .
Введение в DevSecOps: основные принципы и инструменты
Mr. Docker 16.03.2025
DevSecOps - это подход к разработке программного обеспечения, который объединяет в себе принципы разработки (Dev), безопасности (Sec) и эксплуатации (Ops). Суть подхода заключается в том, чтобы. . .
GitHub Actions vs Jenkins: Сравнение инструментов CI/CD
Mr. Docker 16.03.2025
В этой битве за эффективность и скорость выпуска программных продуктов ключевую роль играют специализированные инструменты. Два гиганта в этой области — GitHub Actions и Jenkins — предлагают разные. . .
Реактивное программировани­е с Kafka Stream и Spring WebFlux
Javaican 16.03.2025
Реактивное программирование – это программная парадигма, ориентированная на потоки данных и распространение изменений. Она позволяет выражать статические или динамические потоки данных и. . .
Простая нейросеть на КуМир: Учебное пособие по созданию и обучению нейронных сетей
EggHead 16.03.2025
Искусственные нейронные сети — удивительная технология, позволяющая компьютерам имитировать работу человеческого мозга. Если вы хотя бы немного интересуетесь современными технологиями, то наверняка. . .
Исполнитель Кузнечик в КуМир: Решение задач
EggHead 16.03.2025
Среди множества исполнителей в системе КуМир особое место занимает Кузнечик — простой, но невероятно полезный виртуальный персонаж, который перемещается по числовой прямой, выполняя ваши команды. На. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru