Windows What is the YoYo Compiler?

TheBroman90

Member
I've seen people mentioning the YYC here and that it's something that can increase the fps in games.
But how do I use it and do I have to code in a certain way when using it? Are there any downsides of using it?
 
K

Kenjiro

Guest
Hibba dibba da dibba do.
 
Last edited by a moderator:
D

DarthTenebris

Guest
The YYC is a compiler to your game. Normally your game would be run with a runner - or a VM in other words. That would be slow, as it has to pass to the VM before processed. The YYC compiles your game to C (or one of its variants) and that compiles to machine code directly, resulting better performance.
You don't have to code in a specific way - just program like normally. The downside that I know is that it is slower than a snail to compile and as such I would suggest that you should only be use the YYC for your final build, not debug builds.

That's what I know on the YYC, sorry if the information is false. If it is, I'm pretty sure the manual will be more helpful, if not Google is still here.
Cheers :)
 

ゲルハルト

Guest
I have never seen a speed increase in my projects. But I do code pretty tight, I must say ;)
It really depends. When using large numbers of objects the speed increase can be substantial.
(I once constructed a test scenario with enormous amounts of sprites that saw a ~5 times speed increase on my PC)
 
K

Kenjiro

Guest
Hibba dibba da dibba do.
 
Last edited by a moderator:
M

Mann_mit_Hut

Guest
Same for mobile, I see a 50-100% speed increase in my game...
 

Perseus

Not Medusa
Forum Staff
Moderator
Quoting myself from a different topic:

Regular compiler (hereafter VM) compiles your code to bytecode, a list of instructions that is then handed off to the interpreter that executes your program. On the other hand, YYC compiles your game directly to C++ and to machine code which the computer can execute all on its own without the use of an interpreter. YYC is much faster making your game run a lot better computationally wise, since it compiles the game to native code for the target platform and processor. The catch is that it is very strict. It will complain over bad syntax and will not like it if you do something a bit incorrectly. Games compiled using YYC will usually act weird due to the differences between languages that the source code and destination code are written in. VM will always let you skip semicolons and won't care if you write a mess of a code, it will execute it the best it can until a lethal error is found. It's reliable, but very slow. If your program isn't computationally heavy, you probably don't need YYC at all.
 
Top