NSTimer vs CACurrentMediaTime ()

Jestem więc wśród mojej pierwszej gry na iOS i walczę o to, jak wybrać najlepszy sposób na integrację ruchu obiektów.

Gra opiera się głównie na szybko poruszających się obiektach i stałych, szybkich zmianach wprowadzanych przez użytkownika. W związku z tym staram się integrować obiekty, a solver ograniczenia działa tak szybko i dokładnie, jak to możliwe (aby zminimalizować zmiany wprowadzane przez użytkownika między kolejnymi wywołaniami pętli gry).

Dokładniej mówiąc, nie jestem pewien możliwości klasy NSTimer i funkcji CACurrentMediaTime (). Trudno to sprawdzić empirycznie, ponieważ nie jestem pewien, który błąd jest większy. Na przykład, używając NSTimer z powtarzającym się interwałem 0.008 (~ 2 aktualizacje / odświeżanie ekranu) i wywołując CACurrentMediaTime () przy kolejnych wywołaniach, stwierdzam, że odstęp czasu między wywołaniami waha się od 0,0075 - 0,009. Trudno powiedzieć, który jest odpowiedzialny za (małą) niespójność. Więc dla określenia kroku czasowego powinienem być:

Załóżmy, że NSTimer jest wystarczająco dokładny, aby użyć przedziału czasu NSTimer jako kroku czasu pętli gry

Użyj CACurrentMediaTime (), aby określić odstęp czasu między kolejnymi wywołaniami pętli gry.

Uczeń i nowicjusz w tej dziedzinie - bądź miły :) Wszelkie rady są bardzo mile widziane. Dziękuję za Twój czas.

questionAnswers(2)

yourAnswerToTheQuestion