Difference between revisions of "GI.FrameLimiter"
1>Admin |
(No difference)
|
Revision as of 12:14, 16 January 2025
| FrameLimiter (Общие функции объекта GI) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция изменяет режим ограничения количества кадров окном GI. По умолчанию такой режим не меняется и может зависеть от графического драйвера, поэтому, рекомендуется вызвать эту функцию для окна GI по крайней мере один раз. Некоторые графические драйверы могут не поддерживать режимы синхронизации с вертикальной разверткой экрана, в этом случае, можно использовать режим ограничения кадров по их количеству. В выделенном цикле прорисовки, ожидание, необходиомое для режима ограничения будет выполняться внутри функции InitiateRedraw. См. также Объект GI.
Синтаксис
GI.FrameLimiter(<Режим ограничения количества кадров (INT)>=0,<Параметры режима (INT)>)
Аргументы
<Режим ограничения количества кадров (INT)>- (необязательный аргумент) Аргумент задает режим ограничения количества кадров в секунду. Доступны следующие значения:- 0 (по умолчанию) -- не активировать режим ограничения кадров. Функция InitiateRedraw будет заканчиваться максимально быстро. Второй аргумент игнорируется.
- 1 -- режим синхронизации с вертикальной разверкой экрана. Количество кадров в секунду будет зависеть от режима монитора. Второй аргумент игнорируется.
- 2 -- режим синхронизации кратный скорости вертикальной разверки экрана. Второй аргумент будет задавать порядок кратности. К примеру, если второй аргумент будет равен 2, за один кадр будет происходить два цикла обновления экрана. Если вертикальная развертка экрана 60 герц, значит такой режим будет обновлять кадр 30 раз в секунду.
- 3 -- режим ограчения количества кадров. Второй аргумент задает количество кадров в секунду для ограничения, оно может не зависить от режима работы монитора.
- 4 -- режим ограчения количества кадров и вертикальной развертки экрана. Второй аргумент задает количество кадров в секунду для ограничения, оно может не зависить от режима работы монитора. При этом синхронизация с вертикальной разверткой экрана также производится.
<Параметры режима (INT)>- (необязательный аргумент) Назначение аргумента зависит от режима ограничения, заданного первым аргументом.
Примеры
//Инициализация объекта ''GI''
aGI:=GI.Init(Form.Окно,,1);
//Автоматически захватывать мышь
aGI.MouseMode(1);
//Указание на функции обработчиков событий
aGI.LinkEvent("ONDRAW","OnDraw",1,СпКоорд);
aGI.LinkEvent("ONNEWINPUT","OnNewInput",1,СпУскор);
//Включить режим фильтрации MSAA
aGI.AntiAliasing(1);
//Включить режим ограничения кадров по развертке экрана
//Если драйвер не поддерживает его, включить ограничение 60 кадров в секунду
Try
aGI.FrameLimiter(1);
Except
aGI.FrameLimiter(3,60);
EndTry;
//Включить 3D перспективу, FOV 90
aGI.WorldPerspective(0,90,0.1,1000);
...