Hallo,
Es gehört sich vielleicht nicht, als ersten Post im Forum direkt Fragen zu stellen, aber irgendwie muss man ja nen Grund finden, sich anzumelden
.
Die Situation:
Ich arbeite an einem 2D Shooter, der angesichts des frühen Stadiums bereits gut läuft. Das Problem dabei ist aber, dass die Prozessorauslastung bedeutend zu hoch ist. Laut meinen Tests liegt dies nicht an Endlosschleifen, irgendwelchen ungebremsten Threads oder dergleichen, sondern offenbar an der Art der Darstellung, insbesondere des Labels, welche die Objekte (Gegenstände, Gegner) beinhält. Da jeder Gegner einen eigenen Thread darstellt, und somit unabhängig sein eigenes JLabel kontrolliert, muss das Gesamtbild offenbar zu oft neugezeichnet werden. Allerdings scheint das Problem auch bei vielen unveränderten JLabels aufzutreten. Ich weiß daher einfach nicht, woran ich speziell arbeiten muss, um das Problem zu lösen =/. Ich weiß nichtmal, ob es wirklich daran liegt. Ich hoffe, ihr könnt mich da mit der Nase ein wenig in das Problem stupsen.
Anmerkung: Wie sicher bereits erkennbar ist, habe ich nicht eine paint(),paintComponent() oder ähnliche Zeichenmethode überschrieben. Ich hatte zu Beginn keine Ahnung von Grafiken in Java, und wollte selber herausfinden, zu welchen Problemen welche Vorgehensweise führt. Das hat bis jetzt auch gut geklappt, nur hier komme ich nicht weiter.
Ich hoffe, ihr könnt und wollt mir da weiterhelfen. =)
Der aktuelle Stand des Spiels ist hier zu finden, da kriegt man auch nen guten Eindruck, was ruckelt und Ressourcen verbraucht. Der gesamte Code erstreckt sich im Moment auf über 3000 Zeilen, daher würde ich Auszüge posten, falls gewünscht.
Achja, falls jemand nicht gerne Blut sieht (Obwohl das im Moment eigentlich ziemlich billig aussieht), sollte den Link nicht öffnen
Gruß,
Loki87
Es gehört sich vielleicht nicht, als ersten Post im Forum direkt Fragen zu stellen, aber irgendwie muss man ja nen Grund finden, sich anzumelden
Die Situation:
Ich arbeite an einem 2D Shooter, der angesichts des frühen Stadiums bereits gut läuft. Das Problem dabei ist aber, dass die Prozessorauslastung bedeutend zu hoch ist. Laut meinen Tests liegt dies nicht an Endlosschleifen, irgendwelchen ungebremsten Threads oder dergleichen, sondern offenbar an der Art der Darstellung, insbesondere des Labels, welche die Objekte (Gegenstände, Gegner) beinhält. Da jeder Gegner einen eigenen Thread darstellt, und somit unabhängig sein eigenes JLabel kontrolliert, muss das Gesamtbild offenbar zu oft neugezeichnet werden. Allerdings scheint das Problem auch bei vielen unveränderten JLabels aufzutreten. Ich weiß daher einfach nicht, woran ich speziell arbeiten muss, um das Problem zu lösen =/. Ich weiß nichtmal, ob es wirklich daran liegt. Ich hoffe, ihr könnt mich da mit der Nase ein wenig in das Problem stupsen.
Anmerkung: Wie sicher bereits erkennbar ist, habe ich nicht eine paint(),paintComponent() oder ähnliche Zeichenmethode überschrieben. Ich hatte zu Beginn keine Ahnung von Grafiken in Java, und wollte selber herausfinden, zu welchen Problemen welche Vorgehensweise führt. Das hat bis jetzt auch gut geklappt, nur hier komme ich nicht weiter.
Ich hoffe, ihr könnt und wollt mir da weiterhelfen. =)
Der aktuelle Stand des Spiels ist hier zu finden, da kriegt man auch nen guten Eindruck, was ruckelt und Ressourcen verbraucht. Der gesamte Code erstreckt sich im Moment auf über 3000 Zeilen, daher würde ich Auszüge posten, falls gewünscht.
Achja, falls jemand nicht gerne Blut sieht (Obwohl das im Moment eigentlich ziemlich billig aussieht), sollte den Link nicht öffnen
Gruß,
Loki87