Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия | |||
help:realtime [2024/10/14 12:52] aleks_versus обновление 5.9.0 |
help:realtime [2025/09/27 18:10] (текущий) aleks_versus |
||
---|---|---|---|
Строка 126: | Строка 126: | ||
</sxh> | </sxh> | ||
- | На самом деле не стоит полагаться на то, что локация-счётчик будет вызываться с заданной периодичностью, поскольку в действительности она не вызывается через определённые промежутки, а просто добавляется в очередь к вызову. | + | На самом деле не стоит полагаться на то, что локация-счётчик будет вызываться с заданной периодичностью, поскольку в действительности она вызывается не через равные промежутки. |
- | Например, вы запустили игру, и на Стартовой локации назначили локацию-счётчик и период обращения в 20 мс, но на выполнение кода на Стартовой локации требуется 40 мс. Прервётся ли в этом случае код на стартовой локации, чтобы плеер выполнил код на локации-счётчике, а затем продолжил выполнять код на Стартовой локации? Нет. Плеер поставит локацию-счётчик в очередь сразу после стартовой локации, если к моменту, когда выполнение кода Стартовой локации завершится, пройдёт 20 мс или более. То есть первый вызов локации-счётчика произойдёт не через 20, а через 40 мс, плюс-минус пара миллисекунд. | + | Допустим выполняется код какой-то локации, и тут подошло время выполнить код локации-счётчика. Однако, поскольку плеер уже занят выполнением кода другой локации, он просто пропустит вызов локации-счётчика, и попытается вызвать её в следующий раз. На это ещё может наложиться реальное время выполнения операций в компьютере, и вот вы уже вместо 500 мс интервала имеете +-25 мс. |
===== Оператор SETTIMER ===== | ===== Оператор SETTIMER ===== |