Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Studio Chat / Tier 2 vs Tier 1

Author
Message
Pfaber1
6
Years of Service
User Offline
Joined: 7th Jan 2018
Location: England
Posted: 16th May 2021 12:02
Was just wondering what percentage of AppGameKit Studio members use Tier 2 C++. I am strictly a Tier 1 Basic user so far and have recently completed my first project using it and find it to be excellent . It is definitely an improvement over AppGameKit classic .
My advice to anybody wanting to try AppGameKit would be go for Studio as if you buy Classic you will soon want to upgrade. Studio is faster and that means more power . In my initial tests I found Studio to be twice as fast although it probably depends on your setup. Anyway was wondering if anybody Knows how much faster Tier 2 is compared to studio Tier 1. The test I ran to determine speed was a cube being moved from one side of the screen to the other side and then saw how many FPS it would handle and Studio had twice as fast FPS compared to Classic . I think it was a fair test.
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 16th May 2021 12:20
In my tests the performance difference between "Classic" (v2) and Studio was only ~15% and that was in "Best Case" Scenarios...
More often than not they're indistinguishable in terms of performance.

Studio offers a little more "Refined" support for some ideas added to AppGameKit v2., such-as Enhanced Arrays and References.
Perhaps there is a bigger performance uplift on Mobile Devices (I don't know, as I don't really care much about Mobile Development; and the limitation of not supporting 3rd Party Plug-Ins in Tier 1 is a deal-breaker for supporting said platforms)
This said in regards to how much faster Tier 1 (AGK Script) Vs Tier 2 (C++ SDK) ... well it depends on how complex your application is.

In general terms (without threading) the performance metrics are roughly:

3.6 Million Ops / Sec - AppGameKit Script
2.6 Billion Ops / Sec - DBP BASIC
6.5 Billion Ops / Sec - C++ (Non-Threaded)

This said in terms of the Engine itself., eh... it is and isn't faster.
Like it is a bit faster as C++ Calls are quicker to the Engine with little overhead; but it isn't as the Commands still take a similar execution time (which is SLOW)

Meaning in most Scenarios outside of a much more Complex game you're going to be seeing a similar Framerate.
For me it Maxes out ~2,800 @ 2160p with a Basic Spinning Cube., where-as Cauldron (AMD's Open Source Engine Framerate) will hit close to 7,000 FPS., which is ~2x Performance; and the performance differentially will typically expand from there as you get ever more complex with what you want to do.
C++ (Tier 2) will out-perform AppGameKit Script (Tier 1) in Logic., by a substantial margin.

Where-as when it comes to the built-in Commands, it's only once you get a certain amount of Complexity that you'll see much difference; even then you end up limited by the Engine.
The lack of Threading, and focus on OpenGL / Vulkan Interop over taking advantage of Vulkan' more advanced nature; is what firmly limit AppGameKit both Script and Engine in regards to performance; and I continue to find this odd, given the intended development platform is Mobile; where you typically have far less Processor and Graphics power at your disposal.
In that situation outside of VERY small / simple projects; you somewhat HAVE to use Tier 2 just to get reasonable performance.
Loktofeit
AGK Developer
15
Years of Service
User Offline
Joined: 21st Jan 2009
Location: Sarasota, FL
Posted: 16th May 2021 14:48
"In my initial tests I found Studio to be twice as fast"

I know Tier 2 can be much faster than Tier 1,
but this is the first time I've seen a claim that Studio is twice as fast as Classic.

Can you share the test and your results?

LynxJSA's web games/quizzes - LynxJSA's Android apps
AGK Resource Directory
"Stick to a single main loop (DO...LOOP) and loop through it every frame.
Do everything inside functions.
Use finite state machines to control your game.
Use lots and lots of source files.
Use virtual resolution instead of the default percentage system." - Digital Awakening
MikeHart
AGK Bronze Backer
20
Years of Service
User Offline
Joined: 9th Jun 2003
Location:
Posted: 16th May 2021 19:58
The difference of speed comes mostly from your game logic, not the render calls as they are using the same underlying lib. Moving a cube from one side to the other will hardly show much difference.
Pfaber1
6
Years of Service
User Offline
Joined: 7th Jan 2018
Location: England
Posted: 17th May 2021 11:10 Edited at: 17th May 2021 11:12
I will run the test again tonight and record all the results . And we shall see .
Really wish I was at my computer now, itching to try this out again. It will be vulkan vs openGL vs classic.
Pfaber1
6
Years of Service
User Offline
Joined: 7th Jan 2018
Location: England
Posted: 18th May 2021 17:28
In your opinions if you have used both DarkBasicPro and AppGameKit Studio is there much difference in terms of speed compatibility with windows 10 what it will do , which one do you like best ?
Loktofeit
AGK Developer
15
Years of Service
User Offline
Joined: 21st Jan 2009
Location: Sarasota, FL
Posted: 18th May 2021 17:34
DBPro is rather dated. It's also no longer really updated or supported outside its small but dedicated fanbase.

DBPro has 3D and camera features that AppGameKit lacks and has several PC-focused conveniences that we won't see in AppGameKit any time soon, but I would definitely recommend going with AppGameKit if you are concerned about Win 10 compatibility or performance. This is because it is both designed for that OS and currently being updated/supported by the developers.
LynxJSA's web games/quizzes - LynxJSA's Android apps
AGK Resource Directory
"Stick to a single main loop (DO...LOOP) and loop through it every frame.
Do everything inside functions.
Use finite state machines to control your game.
Use lots and lots of source files.
Use virtual resolution instead of the default percentage system." - Digital Awakening
PartTimeCoder
AGK Tool Maker
9
Years of Service
User Offline
Joined: 9th Mar 2015
Location: London UK
Posted: 18th May 2021 17:47
Quote: "given the intended development platform is Mobile; where you typically have far less Processor and Graphics power at your disposal."


I seem to be living in a paradox where my phone outperforms my computer

I don't know that Studio is twice as fast as Classic, if anything its a tad slower (system is a massive variable here) my gpu does not support Vulkan so that probably explains that!, but Tier2 of either seem to run at comparable speeds (slightly faster than Tier1)

Tier2 is of course faster than Tier1 but not as complex to write, your game will run a tad slower in Tier1 but you'll finish it a lot quicker and compile to desktop and mobile from the same IDE ... that's a trade off I think most of us can live with, I have a Tier2 project where I have spent far to much time trying to hunt down an IMA with a class variable that is passing precompile and debugger checks but crashing the runtime, time that could be spent coding features not reading page after page of C++ memory allocation and scope tutorials trying to figure out where I am corrupting the variable and crashing the exe, you don't get those issues in Tier1

All in All, if you want to take the step into C++ then AGK:: is a good place to start as you already know the library API you only need to learn how to use the language (and use variable pointers without crashing the game! lol)
Pfaber1
6
Years of Service
User Offline
Joined: 7th Jan 2018
Location: England
Posted: 18th May 2021 17:58
Yeah good answer I will be sticking with AppGameKit Studio for the forseable . I looked at some DBP code a while ago and it seems similar to AGKS . But yes up to date and current is important to me .

Login to post a reply

Server time is: 2024-04-20 00:44:39
Your offset time is: 2024-04-20 00:44:39