2011-03-06 2 views
0

아이폰 320x480 화면의 크기 인 보이지 않는 버튼이있는 cclayer 클래스가 있습니다.왜 전체 화면 투명 버튼이 cocos2d-iphone에서 60에서 30 fps로 떨어지고 어떻게 해결할 수 있습니까?

나는 사용자가 화면의 어느 부분을 가볍게 두 드렸을 때 보이지 않게 설정하고 나머지 ccmenuitems를 보이도록 설정할 수 있도록 visible 속성을 설정했습니다.

transparentbutton이 '표시'되면 내 fps가 30으로 떨어진다는 것을 알게되었습니다. 보이지 않게 토글되고 다른 '보이는'ccmenuitems가 표시되면 내 fps가 60fps로 돌아갑니다.

전체 화면 투명 버튼이있는 경우 내 앱에서 왜 이렇게 처리합니까? 60fps를 유지하려면 어떻게해야합니까?

+0

투명 버튼을 제거하고 CCLayer 내에서 ccTouchesBegan을 구현했으며 FPS를 사용하지 않고 원하는대로 작동하도록했습니다. - (void) ccTouchesBegan : (NSSet *) withEvent : (UIEvent *) 이벤트를 건 드리면됩니다. – Azeworai

답변

2

투명성을 적용한 후 순수 효과를 계산해야하므로 투명성은 렌더링하는 데 비용이 많이 듭니다. 보기가 완전히 투명 (예 : 표시되지만 알파 = 0) 인 경우에도 이러한 계산이 수행됩니다. 전체 화면 투명도가 성능에 영향을 줄 수 있습니다. 보이지 않는 버튼을 사용하는 대신 가능한 경우 다른 방법으로 터치를 감지하십시오.