이 질문은 이전에 묻지 만 아무도 해결 방법에 관해 도움이되는 대답을 제공하지 못했습니다. box2d 물리 엔진을 사용하는 cocos2d ios 응용 프로그램이 있습니다. 나는 그것에 성능 테스트를 달리고 cpu는 mach_msg_trap에 그것의 시간의 5.6 %를 소요한다. 내가 다른 질문에서 수집 한 것에서 마치 mach_msg_trap이 응용 프로그램이 유휴 상태가되어 메인 쓰레드가 허리를 굽히는 것처럼 보입니다. 내 응용 프로그램은 비록 유휴 상태가 아닙니다. 흔들리는 성능과 50fps 영역에서 움직입니다. 추가 성능을 얻으려면이 방법을 구성하는 방법이 있습니까? 또는 내가 작성한 나쁜 코드의 결과 일 뿐이므로 어떻게 최적화합니까?mach_msg_trap을 최적화하는 방법
아이팟 터치 2 세대에서 디버그 빌드의 성능을 테스트하고 있습니다. 이것은 문제의 일부일 수 있습니다. 스프라이트 배치로 특정 항목을 그룹화합니다. 하지만 일부 스프라이트에는 ccsprites가 아닌 자식이 있으므로 모든 것을 하나의 배치로 그룹화 할 수 없습니다. 나는 그 (것)들을 할당하고 풀어 놓기 대신에 총알의 수영장을 창조한다. 그러나 이것이 내가 흔들리는 성능을 얻는 곳입니다. 총이 발사되기 시작하면 프레임 속도는 10-15fps로 떨어집니다. 나는 오랫동안 악기를 사용하여 무엇을 찍었는지 추적하려고 시도했지만, 상위 두 시간의 waisters는 glValidateState이며 ccsprite draw와 ccnode 방문을 포함합니다. 두 번째 시간 waister는 mach_msg_trap입니다. 성능을 떨어 뜨리는 총알 코드에 무엇이 있는지 알아내는 다른 방법이 있습니까? 그런데 당신의 책은 cocos2d를 배우는 데 정말로 도움이되었습니다 :)
예, 샘플 시각을 샘플 시간으로 바꿨습니다. –