为什么全屏透明按钮在 cocos2d-iphone 上会将 fps 从 60 降至 30,我该如何解决这个问题?
我有一个带有隐形按钮的 cclayer 类,其大小为 iphone 320x480 屏幕。
我已将其设置为具有可见属性,以便当用户点击屏幕的任何部分时,它会将自身设置为不可见,并将其余的 ccmenuitems 设置为可见。
我注意到,当透明按钮“可见”时,我的 fps 下降到 30。当它切换为不可见并调出其他“可见”cc 菜单项时,我的 fps 又回到 60 fps。
当有全屏透明按钮时,为什么我的应用程序会这样做?我该如何解决这个问题以保持 60 fps?
I have a cclayer class with invisible button that is the size of the iphone 320x480 screen.
I've set it to have the visible property so that when the user taps on any part of the screen, it'll set itself to invisible and set the rest of my ccmenuitems to be visible.
I noticed that when the transparentbutton is 'visible' my fps drops to 30. When it toggles to be invisible and brings up the other 'visible' ccmenuitems, my fps goes back to 60fps.
Why does my app do this when there is a full screen transparent button and how do i work around this to maintain 60 fps?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
透明物体的渲染成本很高,因为它需要在应用透明度后计算净效果。即使视图是完全透明的(即可见但 alpha = 0),我猜这些计算也会进行。全屏透明度可能会影响性能。如果可能的话,不要使用隐形按钮,而是尝试以其他方式检测触摸。
Transparent things are costly to render, as it requires calculating the net effect after applying the transparency. Even if the view is full transparent (i.e. visible but alpha = 0), I guess these calculations are carried on. Full screen transparency might affect the performance. Instead of using invisible button try to detect the touch in some other way, if possible.