Firstly? Who stated that its 60 times faster? Only you did that and Ive no idea where you got that number from. Ive no idea how you have compiled your C or what exactly you have measured exactly? I dont know if you have debug on or have something else causing slow execution.
Interpreted basic is never going to be as fast as compiled basic or compiled C. The fact that there is an interpreter working out what to make the processor do from the byte code slows it up hugely.
Simple example using this AppGameKit code:
// Project: Test
// Created: 2019-09-23
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle( "Test" )
SetWindowSize( 1024, 768, 0 )
SetWindowAllowResize( 1 ) // allow the user to resize the window
// set display properties
SetVirtualResolution( 1024, 768 ) // doesn't have to match the window
SetOrientationAllowed( 1, 1, 1, 1 ) // allow both portrait and landscape on mobile devices
SetSyncRate( 30, 0 ) // 30fps instead of 60 to save battery
SetScissor( 0,0,0,0 ) // use the maximum available screen space, no black borders
UseNewDefaultFonts( 1 ) // since version 2.0.22 we can use nicer default fonts
i = 0
c = 0
time# = timer()
while i<1000000 // count to a million
inc i // increment i
inc c,i // add i to c
endwhile
time# = timer()-time#
do
print("Speed comparison:")
print("Time to do simple increment and add 1 millions times:")
print(str(time#)+"s")
print("c= " + str(c))
Sync()
loop
The c code does the same loop using a while loop
while (i<1000000)
{
i++;
c+=i;
}
Gives results something like this:
0.06s vs 0.0003 Id say thats a lot faster. Thast just pure calculations in C....No UI code...no waiting for sync or anything else not related to the actual processing operation.
So to put it simply....it takes Teir 1 agk 197 times longer (197x) to increment and add the same code that can be done in C.
So yeah...its a lot faster. lol...that said....neither of those 2 figures is importantn if your Sync() call takes 400mS... Like I said...its only the logic processing that gets sped up...not the AGK::function calls.
Im not saying AppGameKit teir 1 is slow by anymeans!! The bytecode format and the interpreter are VERY optimal and im often suprised by its speed but it just cant compete with truly compiled code.