EDT pausieren

Network

Top Contributor
Hallo,

Behauptung
Ich hatte einen Tipp erhalten, dass es manchmal ganz hilfreich sein kann, den EDT bei Programmen die in einer Schleife laufen kurzzeitig zu pausieren um damit die Leistung des Programmes/des anderen Threads zu erhöhen.

Beispiel
  • Das Programm hat die typische Programmarchitektur eines Spieles.
  • Ein Thread läuft in einer Schleife und berechnet ständig alle Objekte neu.
  • Der andere Thread ist der EDT, dieser wird jetzt beispielsweise bei Fingerbewegungs-Events mit Thread.sleep(time in milliseconds); pausiert.

Frage
  • Was haltet ihr von der Behauptung? Sinnvoll oder Nonsense?
  • Selber Erfahrungen damit gemacht, oder logisch erdacht?

Zuzügliche Information
-> Android!
Wobei eine Aussage zu Computern selbst auch sehr hilfreich und interessant wäre.

Vielen Dank
Gruß
Net
 

schlingel

Gesperrter Benutzer
Absoluter Nonsense!. Was soll das bringen, außer dass dir das System die App abdreht. Der EDT in Android ist der UI-Thread. Wenn du den schlafen legst, passiert genau gar nichts mehr da alle Änderungen erst upgedated werden können wenn der UI-Thread aufwacht.

Abgesehen davon, checked das System ständig ob deine App noch reagiert. Tut sie das nicht, weil sie z.B. schläft, kommt der Dialog ob man die App force closen möchte oder warten möchte.

Im Gegenteil, es kann bei allen anderen Threads außer dem UI-Thread bzw. dem EDT-Thread Sinn machen diese schlafen zu legen. Z.B. bei einer GameLoop in der relativ wenig passiert würde ich immer ein paar ms schlafen gehen.
 

Ähnliche Java Themen

Neue Themen


Oben