Форум программистов, компьютерный форум, киберфорум
GPGPU
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
8 / 5 / 3
Регистрация: 21.03.2021
Сообщений: 55
1

Большая нагрузка на GPU из-за UI в режиме Space - World

20.04.2021, 20:42. Показов 2073. Ответов 3

Author24 — интернет-сервис помощи студентам
Здравствуйте, столкнулся с проблемой. Я делаю пошаговую игру, и когда я выделяю определенный юнит - то с помощью картинок UI подсвечиваются места, куда он может пойти (это видно на скриншоте). При этом, если до этого у меня около 100 ФПС, то когда появляются эти картинки ФПС падает до 90. Если же юнит имеет ещё больший радиус ходьбы и может идти на 5 клеток вперёд - то Фпс вообще до 55 падает. С чем это может быть связано? Пробовал ставить и убирать галочки на всех параметрах канваса и картинок, менял все значения - все одно и то же. Элементы на канвасе перерисовываться не должны, так как они не изменяются, не накладываются друг на друга. При этом мои клетки (шестиугольники), которые имеют 3д модель, в своей совокупности практически не оказывают влияния на производительность, в отличие от каких то там картинок.
P.s. у меня есть UI элементы в режиме Camera, их тоже много, некоторые даже динамические, но они практически не оказывают влияние на производительность, в отличие от тех, что в режим World.
Миниатюры
Большая нагрузка на GPU из-за UI в режиме Space - World  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2021, 20:42
Ответы с готовыми решениями:

World Space Curved UI
Подскажите как правильно поправить, чтобы кнопки и прочее можно было нормально нажимать в режиме...

Raycast для UI World Space
Как можно сделать взаимодействие с UI World Space с моего Raycast'а?

Большая нагрузка ЦП
Вопрос в следующем: чем может быть вызвана большая нагрузка ЦП в winform приложении. На всех...

Большая нагрузка
Здравствуйте есть сайт где ведется запись движения мыши все клики записываются и отправляется на...

3
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
20.04.2021, 20:46 2
Вангую, жрут не оптимизированные скрипты. Открывай профайлер и смотри.
0
8 / 5 / 3
Регистрация: 21.03.2021
Сообщений: 55
20.04.2021, 22:34  [ТС] 3
Я смотрел. В профайлере указано как более половины от нагрузки это :
semaphore wait for signal. Смотрел в интернете, это связано с тем, что CPU "ждёт" , пока GPU закончит рендер. Хотя везде использую Mobile/Diffuse + dinamic and static bathing. Помимо этого на клетке лишь один скрипт, вызывающий событие (при нажатии на клетку. Отправляет координаты выбранному танку, то есть ничего неоптимизированного). Даже если я его выключал, то проблема с низким ФПС оставалась. И пропадала , когда я отключаю канвас. При клике на юнит уже давно созданный канвас (он на ходится под землёй, я его не удаляю) просто меняет свою позицию. И как раз такие происходит просадка ФПС, если канвас попадает в поле зрения камеры. Могу скинуть скрипт, через который устанавливается положение канваса и скрипт, при котором он уходит за пределы поля зрения , если это поможет. Так же скрины настроек канваса и настроек его картинок.
0
8 / 5 / 3
Регистрация: 21.03.2021
Сообщений: 55
20.04.2021, 22:49  [ТС] 4
Вот две картинки, в которыъ показано, как отключение канваса влияет на производительность. Вот скрипты:
C#
1
2
3
4
5
    public static event CameraMove.MoveClickk ClickToMove;
    public void OnPointerClick(PointerEventData eventData)
    {
        ClickToMove(transform.position);
    }
это событие отправляет свои координаты танку, если на клетку нажали (как видно метода апдейт нет, то я не понятно чему тут тормозить)
Это скрипт на канвасе, который перемещается к объекту если на него нажать и под землю, если нажать в другое место (то есть убрать выделение с объекта)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
    void Awake()
    {
        TankClick.ClicksEnabled += Clicks;
        Cell.Unselect += Uns;
    }
    void Clicks(int step, Vector3 pos)
    {
        transform.position = new Vector3(pos.x, 2.51f, pos.z); //позиция активного танка
    }
    void Uns()
    {
        transform.position = new Vector3(100, -5, 100); //назад под землю
    }
Миниатюры
Большая нагрузка на GPU из-за UI в режиме Space - World   Большая нагрузка на GPU из-за UI в режиме Space - World  
0
20.04.2021, 22:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2021, 22:49
Помогаю со студенческими работами здесь

Нагрузка CPU и GPU в простое
В простое, периодически, возникает ничем не обусловленная нагрузка на ЦП и видеокарте.

Большая нагрузка на процессор
Процессор постоянно загружен ~50%. Завершаю один процесс, начинает грузить другой, которые до...

Большая ли нагрузка на сайт?
Делаю чат на сайте через базу данных. Вопрос такой: Большой ли будет нагрузка на сайт, если, к...

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

Слишком большая нагрузка на ЦП
Дело в том,что после установки одной игры с торрента,у меня появился процесс Realtek который...

Большая нагрузка и поиск по БД
Нужно найти готовое решение для некоторых задач. Вопросов много, но пока кратко опишу суть: Сам...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru