GI.RenderStats

From SunFlurry wiki
Jump to: navigation, search
  RenderStats (Общие функции объекта GI)
Объект:Объект GI
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверные аргументы
Визуальность:Да

Функция получает статистику создания кадров с позиции центрального процессора (CPU). Функция не замедляет работу цикла прорисовки. См. также RenderStats2.

Синтаксис

GI.RenderStats(<Кадров в секунду (INT)>,<Время работы CPU для создания одного кадра в мс. (REAL)>)

Аргументы

  • <Кадров в секунду (INT)> - (необязательный аргумент) (возможен аргумент-переменная (ByRef)) Аргумент содержит переменную, которая получает примерное количество кадров в секунду, создаваемых циклом пририсовки.
  • <Время работы CPU для создания одного кадра в мс. (REAL)> - (необязательный аргумент) (возможен аргумент-переменная (ByRef)) Аргумент содержит переменную, которая получает время создания предыдущего кадра. Фактически, это время выполнения функции InitiateRedraw без времени ожидания из-за ограничения количества кадров в секунду. В это время входит выполнение функций событий (OnDraw, OnNewInput, OnResize...), прорисовка объектов и их события и пр. В это время не попадает часть программы, которая выполняется в цикле прорисовки вне функции InitiateRedraw.

Примеры

...
аДата:=Date();
СтрСтат:="";

...

  //Выведем статистку в левый нижний угол экрана
  aGI.TextWorldPerspective(1);
  If GetPeriodMs(аДата)>100 Then
    аДата:=Date();
    аФПС:=0;
    аВремя:=0;
    аВремя2:=0;
    aGI.RenderStats(аФПС,аВремя);
    aGI.RenderStats2(аВремя2);
    СтрСтат:=""+аФПС+"FPS, CPU time: "+FormatNumber(аВремя,0,"",3)+"ms, GPU time: "+FormatNumber(аВремя2,0,"",3)+"ms";
  EndIf;
  aGI.RenderText(СтрСтат,"Tahoma,15,IB,"+DecToBase(_CLR_BLUE,16),0,10,aGI.Height-30,0.5,"0,2,FFFFFF,3");
  aGI.TextWorldPerspective(0);

...