mirror of
https://github.com/QB64Official/qb64.git
synced 2024-09-19 22:35:24 +00:00
40 lines
1.6 KiB
Text
40 lines
1.6 KiB
Text
|
The '''_LIMIT''' statement sets the loop repeat rate of a program to so many per second, relinquishing spare cpu cycles to other applications.
|
||
|
|
||
|
|
||
|
{{PageSyntax}}
|
||
|
::[[_LIMIT]] ({{Parameter|LoopsPerSecond!}})
|
||
|
|
||
|
|
||
|
* The frames per second [[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 [[_EXIT]]s!
|
||
|
* _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 useage''' in programs!
|
||
|
* Do NOT use it to limit a loop to '''less than once every 60 seconds'''(.0167) or an [[ERROR Codes|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.
|
||
|
{{CodeStart}} '' ''
|
||
|
{{Cl|PRINT}} "To Quit press ESC key!"
|
||
|
{{Cl|DO}}
|
||
|
{{Cl|_LIMIT}} 30
|
||
|
{{Cl|PRINT}} {{Cl|CHR$}}(26);
|
||
|
{{Cl|IF...THEN|IF}} {{Cl|INKEY$}} = {{Cl|CHR$}}(27) {{Cl|THEN}} {{Cl|EXIT DO}} '' ''
|
||
|
{{Cl|LOOP}}
|
||
|
{{CodeEnd}}
|
||
|
{{OutputStart}}
|
||
|
To Quit press ESC key!
|
||
|
→→→→→→→→→→→→→→→→→→→→
|
||
|
{{OutputEnd}}
|
||
|
:''Note:'' In the above example, _LIMIT has to be within the loop.
|
||
|
|
||
|
|
||
|
|
||
|
{{PageSeeAlso}}
|
||
|
* [[_DELAY]]
|
||
|
* [[TIMER]], [[ON TIMER(n)]]
|
||
|
* [[SLEEP]]
|
||
|
|
||
|
|
||
|
{{PageNavigation}}
|