You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Foundry lags whenever it reloads level creating choppy movement. A large part of the issue is the massive draw calls that we are forced to run in a single thread to the GIL.
Describe the solution you'd like
We slowly update the graphics code to run using Ascynio in order to stop the program from hanging. This would allow for the program to slowly update the level editor and other components in partitions. Dividing the program into small async partitions would allow us to distribute the load of complex and taxing draw commands.
Describe alternatives you've considered
It would be possible to use threading. This attempts to tackle the problem by throwing more cpu cycles at the problem. I argue that this is simply a temporary solution. Eventually, even with threading, we would run out of cpu cycles and would hang the problem. With asyncio, threading can still be applied, but with the addition that it can still be distributed over time. Furthermore, threading is hard to test and would likely lead to many bugs down the line.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Foundry lags whenever it reloads level creating choppy movement. A large part of the issue is the massive draw calls that we are forced to run in a single thread to the GIL.
Describe the solution you'd like
We slowly update the graphics code to run using Ascynio in order to stop the program from hanging. This would allow for the program to slowly update the level editor and other components in partitions. Dividing the program into small async partitions would allow us to distribute the load of complex and taxing draw commands.
Describe alternatives you've considered
It would be possible to use threading. This attempts to tackle the problem by throwing more cpu cycles at the problem. I argue that this is simply a temporary solution. Eventually, even with threading, we would run out of cpu cycles and would hang the problem. With asyncio, threading can still be applied, but with the addition that it can still be distributed over time. Furthermore, threading is hard to test and would likely lead to many bugs down the line.
The text was updated successfully, but these errors were encountered: