Start render loop after screen open
This commit is contained in:
+2
-24
@@ -63,33 +63,11 @@ public final class RenderCatalogClient implements ClientModInitializer {
|
|||||||
client.execute(() -> {
|
client.execute(() -> {
|
||||||
System.out.println("[renderer] opening render screen");
|
System.out.println("[renderer] opening render screen");
|
||||||
client.setScreenAndShow(renderScreen);
|
client.setScreenAndShow(renderScreen);
|
||||||
});
|
|
||||||
|
|
||||||
Thread renderStarter = new Thread(() -> {
|
|
||||||
long deadline = System.currentTimeMillis() + SCREEN_ACTIVATION_TIMEOUT_MILLIS;
|
|
||||||
|
|
||||||
while (System.currentTimeMillis() < deadline) {
|
|
||||||
if (renderScreen.activated) {
|
|
||||||
client.execute(() -> {
|
client.execute(() -> {
|
||||||
System.out.println("[renderer] starting render loop after screen activation");
|
System.out.println("[renderer] starting render loop after screen open");
|
||||||
renderCurrentJob(client, renderScreen);
|
renderCurrentJob(client, renderScreen);
|
||||||
});
|
});
|
||||||
return;
|
});
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Thread.sleep(100L);
|
|
||||||
} catch (InterruptedException exception) {
|
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
System.err.println("[renderer] render screen never activated within " + SCREEN_ACTIVATION_TIMEOUT_MILLIS + "ms");
|
|
||||||
Runtime.getRuntime().halt(1);
|
|
||||||
}, "renderer-startup-watchdog");
|
|
||||||
renderStarter.setDaemon(true);
|
|
||||||
renderStarter.start();
|
|
||||||
|
|
||||||
Thread activationWatchdog = new Thread(() -> {
|
Thread activationWatchdog = new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user