Ich habe auf zahlreichen Diskussionsseiten über dieses Thema gelesen, aber ich kann anscheinend keine eindeutige (aktuelle) Antwort finden, und ich hoffe, dies gibt mir weitere Einblicke:
Ich habe den ausgezeichneten Artikel zur Spielschleifenzeit auf Fix your timestep gelesen! Die CPU-Auslastung wird jedoch nicht berücksichtigt, sodass sie zu 100% ausgeführt wird. Meine Frage ist es dann SCHLECHT, in Ihrer Spielschleife mit 100% CPU zu laufen?
- Wenn nein, warum? Was ist zum Beispiel mit Spielen auf batteriebetriebenen Geräten wie Laptops? Was ist mit Computertemperaturen / Lüftern usw. und anderen Windows-Anwendungen?
- Wenn ja, warum sollte der Artikel es nicht erwähnen, denn das würde es sicherlich erheblich beeinflussen? Was ist der beste Weg, um dies auf Desktops / PCs zu beheben - gibt es nur den unzuverlässigen Schlaf ()? Wie würde sich dies auf die im Artikel vorgeschlagene Spielschleife auswirken?
c++
architecture
game-loop
KaiserJohaan
quelle
quelle
Antworten:
Das Laufen mit 100% CPU ist nicht unbedingt schlecht. Auf der anderen Seite kann es ein ziemlich bedeutendes Problem sein. Grundsätzlich hängt es davon ab, worauf Sie laufen und wie Sie es ausführen. Am besten sehen Sie sich einige Szenarien an, um dies zu zeigen:
Szenario 1
In diesem Fall ist es eine sehr gute Idee, so viel CPU wie möglich für Ihr Spiel zu verwenden. Es wird am Ende schneller laufen und es wird nicht die CPU von irgendetwas stehlen, das es benötigt (die Systemprozesse werden immer noch das bekommen, was sie brauchen, machen Sie sich darüber keine Sorgen).
Szenario 2
In diesem Fall führt die Verwendung der gesamten CPU für Ihr Spiel dazu, dass der Benutzer die Festplatte auswirft, sie in zwei Teile zerlegt (wobei die Tatsache ignoriert wird, dass er eine Rückerstattung erhalten könnte), sie in ein Feuer wirft und dann Ihre Foren in Flammen setzt. Scherz beiseite, es ist nie eine gute Idee, die gesamte CPU zu nutzen, wenn die Wahrscheinlichkeit besteht, dass der Benutzer gleichzeitig etwas anderes mit seinem Computer macht.
Eine wichtige Sache, die ebenfalls berücksichtigt werden muss, ist, ob das Ziel einen Einzel- oder einen Mehrkerncomputer hat. Mit einem Single-Core-Computer könnte Ihr Spiel die gesamte Rechenleistung in Anspruch nehmen und alles andere zum Stillstand bringen. Auf der anderen Seite sollte es bei einem Multi-Core-Computer kein Problem geben , wenn Sie nicht beide Kerne voll ausnutzen - Sie werden einen Core belegen, aber für die anderen Anwendungen wird es mehr geben.
Letztendlich hängt es von solchen Problemen ab, ob die Nutzung von 99% der CPU-Zeit eine gute oder eine schlechte Sache ist. Eigentlich ist es nicht, aber es kann Fälle geben, in denen es ist. Denken Sie daran, dass es (auf einem Computer jedenfalls - Spielekonsolen sind eine andere Art) häufig Sache des Computers ist, die CPU-Zeit praktisch verschiedenen Anwendungen zuzuweisen.
quelle