Difference between revisions of "GI.RenderStats"
1>Admin |
(No difference)
|
Revision as of 09:27, 17 January 2025
| 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);
...