From QB64 Wiki
Jump to navigation Jump to search

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


_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 ILLEGAL FUNCTION CALL error 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: 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

Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page