Open anabah122 opened 2 months ago
this is tantamount to multithreading (or pseudo-multithreading), which is definitely not happening in this runtime and "who knows" in the future one
we need at least pseudo-multithreading ) make gml great again
I talked about this with one of the core developers, but my knowledge of multithreading is insufficient, so I'm looking at it from the point of view of practical use
Duplicate of #4063 or any one of these
yes, I agree with the author, gml is already a campaign for a full-fledged language, but it lacks full-fledged functions aimed at people who develop and do not mess around
You mixup the concept of asynchronous (meaning it does not happen immediately) and multithreading - one does not imply the other.
Current runtime of GameMaker does not allow multi-threading (there are many reasons for this due to the age of the codebase), we do use multithreading for audio mixing and ogg decoding, also used for texture decompression (from PNG, JPG and other on disc formats) and the Garbage Collector.
GMRT (the new runtime for GameMaker) has been written with a view to multi threading (and we plan on providing an interface like JavaScript Web Workers for this, but that will not be in the initial GMRT release).
Asynchronous is not multithreading though it just means that the function will be called later (still on the main thread) at a later point in time.
OK, I'm looking at this from the perspective of an game developer. the point is to get away from the frame loop and not that it will really be multithreading
now I have to write a lot of extra trash code to make execute_funk_asynk
Is your feature request related to a problem?
we cannot clean most of the files or perform complex calculations avoiding the frames loop. I mean, for example, creating vertex buffers or reading large tables from files.
Describe the solution you'd like
thank you so much that we have the ability to asynchronously load sprites and stuff.
To add more freedom, I suggest adding a new function : execute_func_asynk( func type )👍 👍 👍 and ev_exec_asynk👌
users will be able not only to asynchronously load sprites , but also to do anything bypassing the frame loop
Describe alternatives you've considered
it is possible to assemble this inside the frames loop, but it is inconvenient and also dissects the code. There is an extension, but it can only be used on Windows ( the multiplatform says so far )
Additional context
No response