减少由Unity 2d中的脚本引起的延迟

问题描述:

我正在使用此脚本进行背景滚动。背景是一个四的材料:减少由Unity 2d中的脚本引起的延迟

using UnityEngine; 
using System.Collections; 

public class scrollBG : MonoBehaviour { 


    Update is called once per frame 
    void Update() { 

     MeshRenderer mr = GetComponent<MeshRenderer>(); 

     Material mat = mr.material; 

     Vector2 offset = mat.mainTextureOffset; 

     offset.x += Time.deltaTime/6f; 

     mat.mainTextureOffset = offset; 

    } 
} 

它工作正常,直到约30秒进入游戏,然后它非常滞后,并逐渐变得更糟。游戏设置非常简单,只是从屏幕一侧飞到另一侧的行星的景观视图,你必须闪避。我怎样才能改善滞后? (行星移动很好)。值得一提的是,我正在为Android开发。

1)我不知道什么尺寸的纹理,你可以做很长的偏移量。我认为在这种情况下,只需移动对象,然后更改其...

2)GetComponent非常长时间运行。 (先生也是)使用缓存。试试这个:

MeshRenderer mr; 
Material mat; 

    void Start(){ 
     mr = GetComponent<MeshRenderer>(); 
     mat = mr.material; 
    } 

    void Update() { 
     Vector2 offset = mat.mainTextureOffset; 

     offset.x += Time.deltaTime/6f; 

     mat.mainTextureOffset = offset; 
    } 
+0

谢谢。我刚刚尝试过,它在Unity的游戏窗口中效果稍好一些,但在Android设备上仍然一样。 – JGrn84

+0

我不喜欢你的抵消。你在课上看到了这个?你确定这是代码的情况吗?你是否试图清理它?也许你在装配过程中选择了不正确的videadapter? – user2413972

+0

我从YouTube得到它是的。我还有什么可以做的抵消? – JGrn84