Синхронизация обновления дисплея с аппаратной частью
Синтаксис
Использование
result = ScreenSync
Возвращаемое значение
Ноль в случае успеха, или ненулевое значение, если графический режим не был
предварительно установлен.
Описание
Этот оператор GfxLib останавливает выполнение программы до поступления
сигнала видеокарты о конце отслеживания кадров и о начале новых.
Если программа использует этот маленький промежуток времени между кадрами
для перерисовки изображения, мерцание значительно снижается. В этом
использовании,
Screensync является эквивалентом QB метода (
Wait &H3DA, 8)
для уменьшения мерцания. Это эмпирический метод, потому что это только
позволяет синхронизировать начало рисунка с фиксированным коротким
промежутком времени между двумя кадрами. Используется иногда, чтобы избежать
мерцания, только когда очень короткое время рисования.
Кроме того, чтобы уменьшить мерцание,
Screensync также может
использоваться просто как метод синхронизации графического рисунка с
трассировкой кадров экрана (аналогично оператору
Sleep).
Использование формы QB-совместимого
Wait &H3DA, 8
является устаревшим.
Пример
'главный цикл
Do
' делаем
пользовательский ввод
' вычисляем_кадры
ScreenSync
' рисуем_кадры
Loop Until Inkey <> ""
Различия диалектов
- Не доступно в диалекте -lang qb
, но есть псевдоним __Screensync.
Отличия от QB
- Новое в FreeBASIC.
- QBasic использует Wait &H3DA, 8 для
этой цели.
См. также