请问RenderForwardOpaque.Render.Clear 造成连续卡顿原因是什么?
今天测试,先前一切正常的性能表现,突然开始抽风,RenderForwardOpaque.Render.Clear这个导致了长时间的性能骤降,请问大佬们这是什么原因造成的?如何进行优化?
补充几个图:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
感谢鑫大大关注,捕捉了内存以后,发现整个项目内只使用了一个RT,我也记得只使用了这一个RT,用作Mini雷达的显示,然后也没有使用任何屏幕后处理。
今天偶然发现,当我使用屏幕分辨率100%时,会出现这样的现象,如果调到75%,这个Clear就消失了。
目前用的iphone7做的测试
华为Mate8也有这个问题
https://forum.unity.com/threads/renderforwardopaque-render-clear-performance-issue-on-android.526416/#post-3994405
https://forum.unity.com/threads/unity-profiler-spikes-renderforwardopaque-render-clear-in-gearvr-build.439588/#post-3915145
这个的确是链接真机的数据,目前用的实机是iphone7
确实耗时有些诡异,一般clear耗时较高与RenderTexture的数量相关。但从你的截图中来看,建议注意一下几点:
(1)是否为真机测试?
一般建议通过真实设备进行测试,而非通过Editor进行测试;
(2)如果是真机测试,是否多台设备均如此?
可以先确定是否为单独某个机器或某类机型的问题,如果很普遍问题,则建议先从RT入手进行排查,可尝试将RT全部关闭,然后再通过AB Test来不断定位;
(3)从题主的截图上来看,还有一种可能就是垂直同步的时间被记录到Clear中了,因为Clear操作是渲染的最后一步,所以也不是没有这种可能,但还是建议先排查上面(1)和(2)的问题。
贴一下stats数据,或者确认下这是真机测试还是editor模式?
从你上面数据看不出问题来。
或者重启下电脑看看。
难不成是设备分辨率太高了?如果只是清楚一张RT的话,很难想出为何会这么高的Clear:)