Schon nach Spielstart jedes mal andere Maximal FPS werte?!

wie schon hier kurz angemerkt: https://clonkspot.org/forum/topic_show.pl?tid=404#pid7347

Ich habe seit kurzem das merkwürdige Phänomen, dass die FPS Rate von Spielbeginn an, nur bei 30 liegt und da auch bleibt. Das heißt ich hab dann ein komplettes Spiel mit 30FPS als maximalwert. Starte ich das Spiel nochmal neu, sinds 35 FPS als maximalwert. Starte ich nochmal neu sind es 39 FPS oder auch mal nur 27FPS.   Also nicht zwingend in der Reihenfolge, es scheint völlig zufällig zu sein, was da als FPS als dauerhaften Maximalwerrt rauskommt. … es ist außer einem Basisgebäude am anfang nichts gebaut, von daher habe ich keine ahnung woran das liegen kann. (es gibt einige Funktionen wie Umweltschutz und Kriegsnebel usw., aber abgesehen davon, dass die sonst nie laggen, wüsste ich auch nicht, warum es mal so und mal so sein sollte unter gleichen Bedingungen)

Im Editor tritt das Problem auch auf, aber nicht so extrem , da scheint es lediglich mal 33 FPS oder 36FPS als maximalwert zu sein.

Habe jetzt den Profiler bei so einem 30FPS spiel kurz laufen lassen, kann aber nichts verusachendes finden.

[15:42:41] -> StartScriptProfiler()
[15:42:41]  = true
[15:42:55] Profiler statistics:
[15:42:55] ==============================
[15:42:55] 00115ms  HZCK::FogWar
[15:42:55] 00115ms  HZCK::UpdateCharge
[15:42:55] 00110ms  HZCK::FogWar1
[15:42:55] 00065ms  CLNK::FogWar
[15:42:55] 00060ms  CLNK::FogWar1
[15:42:55] 00060ms  _Z2A::CheckPollution
[15:42:55] 00050ms  R_EG::Regen
[15:42:55] 00035ms  global ForestChange
[15:42:55] 00015ms  global IsNight
[15:42:55] 00015ms  global PathFree
[15:42:55] 00015ms  _Z2A::Waste
[15:42:55] 00010ms  global HashGet
[15:42:55] 00010ms  _Z2A::FilterAir
[15:42:55] 00010ms  GOAL::EnoughGoals
[15:42:55] 00010ms  GOAL::CheckTime
[15:42:55] 00005ms  Direct exec
[15:42:55] 00005ms  global Find_Func
[15:42:55] 00005ms  global IsDay
[15:42:55] 00005ms  global _Hash_HashVal
[15:42:55] 00005ms  ECLD::DoClouds
[15:42:55] 00005ms  WIPF::Activity
[15:42:55] 00005ms  CLNK::FxInventarCheckTimer
[15:42:55] 00005ms  EGLN::Twinkle
[15:42:55] 00005ms  TIME::TimingTwo
[15:42:55] 00005ms  TIME::UpdateGraphics
[15:42:55] 00005ms  GRA1::IsBulletGrasTarget
[15:42:55] ==============================
[15:42:55] -> StopScriptProfiler()
[15:42:55]  = true

Auch bei 800600 Auflösung schwankt es zwischen 33 und 39, was auch schon zu viel ist.

Bei Standardszenarien wie z.b Goldmine tritt das nicht auf. Daher gehe ich mal davon aus, dass es an meinem Objectpaket liegt.

Ich habs jetzt nochmal ganz extrem getestet. Eine Karte mit nichts, wirklich nichts als dem Clonk, keine regeln, keine Environments, keine Vegetation, keine Forschungen und 800
600 Auflösung.
Diesmal ca 34. FPS als maximalwert.

[16:10:24] -> StartScriptProfiler()
[16:10:24]  = true
[16:10:34] Profiler statistics:
[16:10:34] ==============================
[16:10:34] 00005ms  Direct exec
[16:10:34] 00002ms  global FxShowWeaponTimer
[16:10:34] 00002ms  _Z2A::CheckPollution
[16:10:34] 00001ms  global SetGraphics
[16:10:34] 00001ms  global ForestChange
[16:10:34] 00001ms  _Z2A::Waste
[16:10:34] ==============================
[16:10:34] -> StopScriptProfiler()
[16:10:34]  = true

man erkennt also, dass nichts von dem, was im Profiler aufgelistet wird, die Ursache dafür sein kann.
Daher stellt sich jetzt die Frage, was könnte die Ursache sein?

Ich nehme mal an, du hast den Monitor auf 60Hz und die Grafikkarte schafft das Rendering der Objekte nicht mehr innerhalb der halben Framerate. Im nichtexklusiven Modus im Editor laeuft es dann asynchron vom vsync.

Du kannst ja mal vsync abschalten.

Der Scriptprofiler erfasst nur Scripte und nicht das Rendering der Grafiken.

vielen dank für deine Antwort :slight_smile:

ja mein Laptop scheint leider nur 60Hz zu haben, glaub ich, jedenfalls ist 60Hz aktiv und nichts andres auswählbar.

Meine Grafikarten sind “Intel® HD Graphics 4600”  und “NVIDIA Geforce GTX 850M”.   http://www.notebooksbilliger.de/notebooks/gaming+notebooks/msi+ge60+2pci745fd
Soweit ich das verstanden habe läuft meistens die schwächere von beiden (ich glaube das ist die “Intel…”?). Nur bei leistungsfordernden Spielen springt dann die andere an. Bei clonk arbeitet die Schwächere.

vsync hab ich schonmal iwo gelesen…ich weiß aber grad nicht mehr wo… wie schalte ich das ab, gehört das zu Clonk oder zu meiner grafikkarte?  In dem Steuerungsmenü für meine IntelGrafikakrte finde ich leider nichts mit vsync… unter welchem Stichwort müsste ich suchen?

>Soweit ich das verstanden habe läuft meistens die schwächere von beiden (ich glaube das ist die "Intel.."?). Nur bei leistungsfordernden Spielen springt dann die andere an. Bei clonk arbeitet die Schwächere.


Das kann auch ein Grund für dein Problem sein. Sorg mal dafür, dass für Clonk immer die Stärkere läuft!

hmm… habe in den 3D Einstellungen der NVIDIA für Clonk nun die NVIDIA als Grafikprozessor eingestellt, mit denselben Einstellungen wie für ein spiel wo automatisch NVIDIA anspringt.
Wenn die NVIDIA an ist, dann leuchtet ein Lämpchen hier orange. Aber wenn ich Clonk starte wird es nicht orange, weshalb das aus irgendeinem Grund nicht funktioniert… hmm

edit:
dazu kann ich vllt noch sagen, dass in den 3D NVIDIA Einstellungen clonk rage nicht in der Liste der zu wählenden Programme drin war. Open Clonk hingegen schon. D.h. ich musste manuell die clonk.exe hinzufügen.
Andere Einstellungen als 3D scheint es in dem NVIDIA Steuerungstool nicht zu geben

Zusätzlich haben sich die FPS Werte aber dennoch geändert, also egal was da nun Grafikkarten mäßig eingestellt ist, also keine Änderung zu vorher:
Aufeinmal sind die Maximalwerte größer.  Mithilfe von SetGameSpeed kann ich die FPS Rate nun sogar auf 45 oder bei anderen Starts auch auf über 50FPS hochdrehen (vorher blieben die werte halt auch mit setgamespeed bei 30 oderso). D.h. die FPS Rate ist deutlich höher, aber nichtsdestotrotz schwanken sie bei jedem Spielstart weiterhin.

Also wie gesagt, ich habe nichts verändert… auch schon vor dem rumspielen an den NVIDIA einstellungen waren es die höheren Werte. 
Keine Ahnung wie lange das nun anhält, vermutlich nicht für immer.