Падение fps на мали GPU - PullRequest
       6

Падение fps на мали GPU

0 голосов
/ 31 августа 2018

Я пытался зайти в Google и понять свою проблему через две недели, но я потерпел поражение, поэтому я прошу помощи.

Основная проблема в том, что мой нестандартный фрагментированный шейдер фрагментов через определенное время на устройствах с mali gpu начинает сбрасывать fps - я вижу это через fps counter в разделе cpu. Я не знаю, почему в этом разделе, а не в разделе рендеринга, но без этого счетчика fps я все еще чувствую падение fps.

Так что на Samsung S4, Samsung sm-t 380, xiaomi redmi note 5, на вкладке samsung s2 все нормально, падение было только на samsung s6 - чтобы решить проблему я вдвое меньше разрешения с помощью функции Screen.SetResolution.

Я думал, что рисование полноэкранного спрайта на таком устройстве с высоким разрешением - это главное. Тогда я могу проверить приложение на Samsung Sm-T580 - и падение было там - это устройство имеет низкое разрешение, чем S6.

Я предполагаю, что проблема в руке Мали ГПУ - или я уверен в моих руках.

Итак, я снова рендерился в полноэкранном режиме с помощью спрайта draw-mode = tile (countinuous) с 3 текстурами, просто меняя их uvs в vert func и применяя фрагмент. Это дает искажающий эффект. Шейдер показывает, что у меня есть 10 математических и 4 текстурных, да 3 текстурных, но я делаю 4 выборки.

Текстуры 256x256 с режимом повтора. Я пробовал разные компрессии текстур, dxt5, etc1-2, alpha8, R5 - без эффекта.

Я пытался с различной точностью наполовину и плавать в разных частях шейдера - безрезультатно.

Я думал о альфе, поэтому я взял текстуры без альфы и не получил их от tex2D. Даже размер текстур не имеет значения, даже если они 64х64.

Танец с ZTest, ZWrite, Blend, Queue RenderType, другими параметрами - без эффекта.

Я предположил, что, возможно, на uli: TEXCOORD0 должен быть только float2, а не float3 или float4 - без эффекта.

Я применяю _Time.y и заменяю его на float из скрипта - без эффекта.

Только уменьшение количества tex2d в шейдере - работает. Почему?

Что я делаю не так?

...