_LIMIT - QB64Official/qb64 GitHub Wiki

The _LIMIT statement sets the loop repeat rate of a program to so many per second, relinquishing spare CPU cycles to other applications.

Syntax

_LIMIT framesPerSecond!

  • The framesPerSecond! SINGLE parameter value adjusts the loops per second of a program loop. Do not use negative values.
  • The loop code is executed before the loop is delayed. Loop cycles below once per second may delay program _EXITs.
  • _LIMIT measures its interval from the previous time that it was called and minor adjustments are automatically made to ensure that the number of times a loop is repeated is correct overall.
  • Loop cycle rates of 1000 or less can significantly reduce CPU usage in programs.
  • Do not use it to limit a loop to less than once every 60 seconds(.0167) or an ERROR Codes will occur.
  • Do not use _LIMIT as a timing delay outside of loops. Use _DELAY instead.
  • Use _LIMIT to slow down old QBasic program loops that run too fast and use too much CPU.

Example(s)

Limits loop execution to 30 frames per second and limits the program's CPU usage.


PRINT "To Quit press ESC key!"
DO
   _LIMIT 30
   PRINT CHR$(26);
   IF INKEY$ = CHR$(27) THEN EXIT DO 
LOOP 


To Quit press ESC key!
→→→→→→→→→→→→→→→→→→→→

Note: In the above example, _LIMIT has to be within the loop.

See Also