does the program use single or multiple cores
-
when it compiles, does it optimize for using multiple cores when it can or does it only use one CPU core?
-
It doesn't compile at all. It's runs as an interpreter. It may make note of various things like function locations prior to executing, but for the most part, it interprets the code line by line.
-
This is one for Luke to answer. I'm aware he uses multiple threads and CPU cores to spread various activities across. Audio would be a good example and of course graphics make use of the GPU's 256 cores. So yes is the answer but for more anything detailed Luke would need to comment.
-
@Jonboy I'd imagine the GPU cores are automatically used without programmer requests, except maybe to define how many cores get used for vertex processing, pixel processing, etc, but those would be a one-time thing per game launch rather than something done per frame. The hardware should generally take care of the rest as data to be processed is streamed in.
It's too bad though with this running under an interpreter rather than something like dynamic recompilation (the former converts the code every single time it comes across it in execution, whereas the latter converts/compiles each line the first time, but retains that conversion every time after for faster execution).
-
As Jon says audio is processed on another core but the fuze code itself is only run on a single core
-
In theory loading assets could be put on a separate threat as well, of course the interpreter would still need to wait with executing code that use the assets, but I think often, the assets to load are defined at the start of a program, while there might be a menu first before the assets are actually used... However, such an improvement would be difficult, and it's easy to work around this in Fuze, by providing a loading screen before loading the assets (which may feel more pro as well)...
-
@PB____ I definitely feel pro making loading screens! :)