У меня возникли проблемы с производительностью на моем GearVR приложения (разработан на Unity 5.4), так что я решил сделать небольшой эксперимент и создать простейшую сцену для изучения производительности:вопрос об исполнении GearVR/Unity
- Один статического самолет
- Один статического куб
- И с тем же материалом: мобильный неосвещенной шейдер с 8X8 UNICOLOR текстурой
- Один запеченные направленным свет
- по умолчанию быстрых настроек качества
- настройки по умолчанию проигрывателя сохранить для VR включена и многопоточный-рендеринг позволил
На моем компьютере, когда я смотрю на профилировщике я получаю следующий профиль:
О чем ты Ожидайте: около 4000 FPS.
Однако, когда я строю свою точно такую же сцену, и запустить его на моем Galaxy S6 (с ETC2 Глес сжатия 3,0 текстуры), я получаю эту анкету:
Это теперь пошли вниз до около 60 FPS. WTF? Когда я смотрю немного больше в детали, я вижу, что подавляющее большинство времени использования процессора тратится на ожидание ГПУ:
А потом, когда я смотрю на использование GPU я вижу, что он тратит 99% своего времени применения GUITexture.draw:
проблема заключается в том ... нет долбанные GUI текстуры в моей очень простой сцене! Я ничего не понимаю. Может ли кто-нибудь объяснить мне, что происходит, и как уменьшить чрезвычайную разницу в производительности между ПК и мобильным телефоном?