Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Administrator
Zitat von »"chriss"«
@Chase Das stimmt schon das man 800fps nicht braucht aber umso mehr es sinnt (<= sind?) umso genauer läuft das Spiel. Zumindest wenn die Inputabfragen im Renderloop stecken. Zudem sind Kollisionstest genauer da sie öffters durchgeführt werden.
Zitat von »"chriss"«
Zitat von »"Chase"«
Das Nachladen geschieht in einem anderen Thread
Genau deswegen ist es sinnlos die Framerate zu begrenzen.
Zitat von »"David Scherfgen"«
Zitat von »"chriss"«
Zitat von »"Chase"«
Das Nachladen geschieht in einem anderen Thread
Genau deswegen ist es sinnlos die Framerate zu begrenzen.
Das ist sehr widersprüchlich.
Man soll ja deiner Meinung nach so viel CPU-Zeit wie möglich in der Spielschleife verbringen. Dann bekommt der Lade-Thread zwangsläufig weniger CPU-Zeit zugeteilt. Und selbst bei Multicore-Systemen ist das nicht ohne negativen Einfluss!
Zitat
Nein das soll heißen das beide Threads eh unterschiedlich schnell laufen und das eine Verlangsamung des Renderthreads eigentlich kein Effekt auf den Ladethread hat
Zitat von »"dot"«
Zitat
Nein das soll heißen das beide Threads eh unterschiedlich schnell laufen und das eine Verlangsamung des Renderthreads eigentlich kein Effekt auf den Ladethread hat
dir ist aber schon klar, dass threads nicht wirklich parallel laufen!?
wenn ich jetzt mal im taskmanager schau, dann seh ich dort 485 laufende threads. ich hab aber nur 2 kerne...
das "verlangsamen" mit Sleep() hat den effekt, dass die zeit die in der renderfunktion sonst verbraten würde dem anderen thread zu gute kommt.
Zitat von »"chriss"«
Kannst du die Texturen nicht in kleinere Aufteilen? Ich meinte auch nicht das du alles laden sollst sondern mehr im Voraus. Ich nehme mal an das du dein Level in Quadrate/Cubes einegeteilt hast. Und sobald du das übernächste lädst kanns du das letzte wieder freigeben. Wenn sich das bis später nnicht geklärt hat kann ich ja mal ne Grafik dazu machen.
Sleep würde ich auch verwenden aber nicht beim rendern sondern nach jeder Prüfung ob geladen werden muss. Hier solltest du so viel puffern das nicht uaf das laden gewartet werden muss. Der Wechsel zum nächsten Feld sollte ohne Laden auskommen können. Und wenn dieser wechsel stattfindet kannst du das darauf folgende laden.
Zitat von »"David Scherfgen"«
Nochmal: Physik-Engines laufen immer nur mit fixen Time-Steps zuverlässig!
Administrator
Werbeanzeige