szlm 2023-07-26 11:55 采纳率: 0%
浏览 65

同一个transform连续调用DOtween时可能会导致GC频率增加

一个现象:
transform.DOLocalMoveX(x, deltaTime)
transform.DOLocalMoveY(y, deltaTime)

如上写法,对同一个transform连续调用DOtween时可能会导致GC频率增加(profiler中有观察到该现象);

改为
transform.DOLocalMove(v3, deltaTime) 之后GC频率大幅下降;

  • 写回答

2条回答 默认 最新

  • 藏柏 2023-07-26 12:28
    关注

    因为使用transform.DOLocalMoveX(x, deltaTime)和transform.DOLocalMoveY(y, deltaTime)时,每次调用都会生成新的Vector3对象。而在transform.DOLocalMove(v3, deltaTime)中,你直接使用了一个已有的Vector3对象,避免了额外的对象创建,从而减少了GC频率

    评论

报告相同问题?

问题事件

  • 创建了问题 7月26日