-
-
Notifications
You must be signed in to change notification settings - Fork 968
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Link graph job thread-join schedule changes #6470
Comments
JGR wrote:
Attachments
This comment was imported from FlySpray: https://bugs.openttd.org/task/6470#comment14195 |
fonsinchen wrote:
This comment was imported from FlySpray: https://bugs.openttd.org/task/6470#comment14217 |
fonsinchen wrote:
This comment was imported from FlySpray: https://bugs.openttd.org/task/6470#comment14219 |
fonsinchen wrote:
This comment was imported from FlySpray: https://bugs.openttd.org/task/6470#comment14220 |
JGR wrote:
This comment was imported from FlySpray: https://bugs.openttd.org/task/6470#comment14221 |
JGR wrote:
Attachments
This comment was imported from FlySpray: https://bugs.openttd.org/task/6470#comment14239 |
@JGRennison is this still something you want to pursue? :) @LordAro is interested in getting it through. |
Patch 1 is the interesting one really. I'm happy to make further updates as necessary. |
It's still somewhat up in the air with regards to how C++11+ is used, but now that the compile farm fully supports C++11 properly, and that -std=c++11 is forced on in the makefile anyway, I think you should be good to go. I imagine no one would complain if you used anything C++14 either. I seem to recall some issues with using with MinGW, but I just tested that and it seems to be working fine, so go nuts :) |
) Check if the job is still running one date fract tick before it is due to join and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
) Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
) Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
) Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
Closed in favour of #7081 |
) Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
JGR opened the ticket and wrote:
Attachments
Reported version: trunk
Operating system: All
This issue was imported from FlySpray: https://bugs.openttd.org/task/6470
The text was updated successfully, but these errors were encountered: