Home » Flash相关 » Stage3D » 技术人生 » 如何解决CPU与GPU时钟同步的问题-Stage3D-Starling-Flash

如何解决CPU与GPU时钟同步的问题-Stage3D-Starling-Flash

Flash GPU渲染,最容易遇到的问题就是GPU与CPU时钟同步的问题。我们可以把CPU和GPU比作两个军人一起走踏步走。如果其中两个人踏步节奏个稍微慢了一拍,就会出现不同步的问题。军人A左脚的时候,军人B右脚。就会出现等待GPU 时间过长的问题。如下Scout截图:

我打开gpu-z查看了一下GPU的负载,发现GPU根本没有出现超负荷的情况。那么基本可以断定游戏出现了时钟不同步的问题。

那么如何解决这个问题呢?

很简单,让GPU渲染这块的引擎停止一帧,不做contex3d.present()GPU呈现。这样就可以调整就可以让GPU等一次CPU,从而解决不同的问题。

我这里的方法更加简暴,直接让Stage3D 相关的计算,每隔一帧,停止一帧。

然后完美解决这个问题:

    分享到: