GI.RenderStats
RenderStats (Общие функции объекта 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); ...