1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-26 07:25:53 +00:00
QB64-PE/internal/help/_LIMIT.txt
SMcNeill 6e01fc8dce Altered string compare routines (<,<=,>,>=) so they don't give false results with CHR$(0).
Added new _STRCMP and _STRICMP commands for quick string comparisons.
Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders.
Altered UCASE and LCASE routines to be faster in some situations for us.
2014-09-22 08:19:03 -04:00

40 lines
1.6 KiB
Plaintext

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}} &quot;To Quit press ESC key!&quot;
{{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}}