在Mali GPU上降低fps

时间:2018-08-31 07:31:52

标签: c# unity3d shader fragment-shader

我试图用Google搜索并在两周内了解我的问题,但是我被打败了,所以我寻求帮助。

主要问题是,在具有Mali gpu的设备上经过一定时间后,我的自定义未点亮的片段着色器开始降低fps-我通过cpu部分中的fps计数器看到它。我不知道为什么在该部分而不是在渲染部分,但是如果没有此fps计数器,我仍然可以感觉到fps的下降。

因此,在三星S4,三星sm-t 380,小米redmi note 5上,三星标签s2都可以,降幅仅在三星s6上-通过Screen.SetResolution函数可以解决一半的分辨率。

我当时以为在如此高分辨率的设备上绘制全屏精灵是重点。 然后,我可以在三星sm-t580上测试应用程序-并且在那里放了-该设备的分辨率低于S6。

我认为这是手臂麻痹症的问题-还是我可以肯定。

因此,我再次使用3种纹理的draw-mode = tile(countinuous)精灵渲染全屏,只是在vert func中更改了它们的uvs并应用于片段。 这使失真效果。 着色器显示我有10个数学和4个纹理,是的3个纹理,但是我要进行4个采样。

具有重复模式的纹理为256x256。 我正在尝试不同的纹理压缩,dxt5,etc1-2,alpha8,R5-无效。

我正在尝试将不同的精度减半,然后在着色器中的不同部分浮动-无效。

我当时在考虑Alpha,所以我使用了没有Alpha的纹理,并且没有从tex2D获得它。 即使纹理的大小无关紧要,即使它们是64x64。

具有ZTest,ZWrite,Blend,Queue RenderType和其他参数的舞蹈-没有效果。

我的猜测是,也许在Mali uv上:TEXCOORD0必须仅是float2,而不是float3或float4-无效。

我正在应用_Time.y并将其替换为脚本中的float-无效。

仅减少着色器中的tex2d数量-正在起作用。 为什么?

我做错了什么?

0 个答案:

没有答案