2014-12-23 12 views
1

Я пытаюсь вычислить расчет кадров в секунду.Можно ли определить количество кадров в секунду Если я использую CAEAGLLayer?

В моем коде:

@interface myView : UIView 
    { 
    } 

И в .m файл

+ (Class) layerClass 
    { 
     return [CAEAGLLAYER class]; 
    } 

Я попытался с помощью CADisplayLink: LIKE:

@interface myView : UIView 
    { 
    } 
    @property (nonatomic, strong) CADisplayLink *dLink; 

и .m файл

1. dLink = [CADisplayLInk] ... selector (Mycallback:)); 
    2. adding currentRunLoop to dLink. 

Задача: «MyCallback» вызывается 60 раз в секунду, независимо от скорости рендеринга. Что я понял из этого, так это то, что «MyCallback» вызывается с частотой обновления экрана, которая не связана с текущими fps.

Вопрос:

«Какой способ расчета реального кадра в секунду, которые происходят в CAEAGLLayer».

ПРИМЕЧАНИЕ: Я использую этот CAEAGLLayer [UIView] в GStreamer.

+0

Что делает оператор 'render [класс CAEAGLLAYER];' do? – Droppy

+0

Спасибо за указание. ошибка печати. это «возвращение». :) Отредактированный вопрос. – DrunkenMaster

+0

Я считаю, что частота кадров фиксирована на 60 FPS, и вы подтвердили, что сами по себе, когда ваша функция обратного вызова называется каждый кадр. – Droppy

ответ

0

Чтобы изменить FramePerSecond,

self.displayLink.frameInterval = 2; 

В то время как значение по умолчанию равно 1, FramePerSecond = 60/frameInterval.