2014-11-25 1 views
1
view.showFPS = true 

-> 내 게임에 30fps가 표시됩니다. 그것은 verry laggy이고 내 게임은 높은 fps (초당 프레임 수)가 필요합니다.왜 내 앱 (게임)의 fps가 낮습니까 (30)? (xcode sprite swift)

왜 내 게임의 fps가 낮습니까? 나는 대부분의 코드를 주석 처리했으며 여전히 낮은 fps를 가지고 있습니다!

문제를 해결하는 데 도움이되는 모든 분들께 감사드립니다.

답변

1

게임이 너무 무거 우며 프로그래밍이 좋지 않기 때문에.

FPS는 " 초당 프레임"을 나타냅니다. 이것은 1 초안에 그릴 수있는 게임의 프레임 수를 정량적으로 측정 한 것입니다. 타겟 하드웨어에 따라이 문제의 원인이 될 수있는 여러 가지 요인이 있습니다. 그들은 : 등 게임의 각 스프라이트 나 문자뿐만 아니라, 배경, 적, 실체, 모두가 그래픽 프로세서에 의해 그려진해야합니다

  • 너무 많은 그래픽. 이들 각각은 2 ~ 3 밀리 초가 소요됩니다. 그래픽이 플랫폼에 맞게 최적화되지 않은 경우 그래픽 하드웨어가 프로그램 속도보다 느리게 시작되면 게임 속도가 느려집니다.

  • 비효율적 인 코드 : 게임 논리가 매우 빠르게 진행되어 정상적으로 진행될 수 있습니다. 게임에 많은 시간이 걸리는 함수를 사용하거나 복잡한 계산을 자주해야하는 경우 게임 속도가 느려집니다. 이 경우 게임 논리를 별도의 스레드로 이동하거나 코드를 최적화하는 것이 좋습니다. Xcode에서 Instruments는 느린 코드 섹션을 식별하여 속도를 향상시킬 수있는 매우 유용한 도구입니다.

  • 하드웨어가 무효 : 게임이 실행되는 컴퓨터/장치가 게임을 처리 할 수없는 경우가 있지만 최신 하드웨어에서는 가능할 수 있습니다. 이 경우 오래된 하드웨어에 대한 지원을 중단 할 필요가 있습니다. 게임을 전체 화면 모드로 실행하는 것은 성능 향상에 매우 유용하지만 종종 간과되는 방법입니다. 많은 운영 체제가 합성 및 기타 그래픽 서비스를 중지하므로 비디오 카드가 프로그램에 더 많은 시간을 할애 할 수 있습니다. 당신이 당신의 게임에서 최소 60 FPS를 실행하려면 각각의 프레임은 0.0166666666666 밀리 초 단위로 렌더링 할 수 있어야합니다,

    :

다음은 기본입니다. 당신이 말할 수 있듯이, 그것은 시간이별로 없습니다. 그래서 위의 제안을 진지하게 받아 들여야합니다.

+0

종종 원인은 비효율적 인 코드입니다. – erdekhayser

+0

내 게임에 사용하고있는 배경 때문이라고 생각합니다. addChild (background) 라인을 제거하고 게임을 할 때, 배경을 추가 할 때 30fps가되면 60fps가됩니다. iphone 6 시뮬레이터를 사용하고 있습니다. 배경은 750 x 1134 픽셀입니다. 추가는 background @ 2x.png라고하는데, 내가 뭘 잘못하고 있니? – DNC

+0

그래서 배경과 관련이 있습니다. 이미지가 너무 크거나 배경에 필요한 코드가 비효율적이며 게임 속도가 느려집니다. – SevenBits

관련 문제