为什么cocos2d iphone上的全屏透明按钮会将fps从60降低到30,我该如何解决这个问题?

为什么cocos2d iphone上的全屏透明按钮会将fps从60降低到30,我该如何解决这个问题?,iphone,performance,ios,cocos2d-iphone,cclayer,Iphone,Performance,Ios,Cocos2d Iphone,Cclayer,我有一个cclayer类,带有不可见按钮,大小与iphone 320x480屏幕一样 我已经将它设置为visible属性,这样当用户点击屏幕的任何部分时,它会将自己设置为不可见,并将我的其他项目设置为可见 我注意到当透明按钮“可见”时,我的fps下降到30。当它切换为不可见并显示其他“可见”项目时,我的fps返回到60 fps 当有一个全屏透明按钮时,为什么我的应用程序会这样做?我如何解决这个问题以保持60 fps 透明的东西渲染成本很高,因为它需要在应用透明度后计算净效果。即使视图是完全透明的

我有一个cclayer类,带有不可见按钮,大小与iphone 320x480屏幕一样

我已经将它设置为visible属性,这样当用户点击屏幕的任何部分时,它会将自己设置为不可见,并将我的其他项目设置为可见

我注意到当透明按钮“可见”时,我的fps下降到30。当它切换为不可见并显示其他“可见”项目时,我的fps返回到60 fps


当有一个全屏透明按钮时,为什么我的应用程序会这样做?我如何解决这个问题以保持60 fps

透明的东西渲染成本很高,因为它需要在应用透明度后计算净效果。即使视图是完全透明的(即可见但alpha=0),我猜这些计算也会继续进行。全屏透明度可能会影响性能。如果可能的话,不要使用不可见按钮,试着用其他方式检测触摸。

我已经移除了透明按钮,并在我的CCLayer中实现了CCTouches,并使其以我想要的方式工作,而无需FPS下降。-(void)CCTouchesStart:(NSSet*)与事件接触:(UIEvent*)事件