|
@@ -29,7 +29,7 @@ This example does not fetch the returned value by calling `get()` on the Future
|
|
|
If the processing thread needs to wait or needs the return value then `get()` or the other methods in the returned Future object such as `isDone()` can be used.
|
|
|
====
|
|
|
|
|
|
-First, make sure you know what xref:app/state/application_states.adoc[Application States] and <<jme3/advanced/custom_controls#,Custom Controls>> are.
|
|
|
+First, make sure you know what xref:app/state/application_states.adoc[Application States] and xref:scene/control/custom_controls.adoc[Custom Controls] are.
|
|
|
|
|
|
More complex games may feature complex mathematical operations or artificial intelligence calculations (such as path finding for several NPCs). If you make many time-intensive calls on the same thread (in the update loop), they will block one another, and thus slow down the game to a degree that makes it unplayable. If your game requires long running tasks, you should run them concurrently on separate threads, which speeds up the application considerably.
|
|
|
|