Siber Napisano Listopad 14, 2007 Zgłoś Share Napisano Listopad 14, 2007 Jak ograniczyć FPS'y np. do 30/s? GLCadencer ma 3 pola związane z DeltaTime (FixedDeltaTime, MinDeltaTime, MaxDeltaTime), ale moje eksperymentowanie z nimi nie przyniosło zadowalających efektów. Nie wiem jakie wartości tam wpisać. Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Listopad 14, 2007 Zgłoś Share Napisano Listopad 14, 2007 Kontrolę FPSów w GLScene sprawują dwie właściwości Cadencera - FixedDeltaTime i MaxDeltaTime. Spróbuj ustawić je w ten sposób: FixedDeltaTime := 0.0155; MaxDeltaTime := 0.0155; Mam nadzieję, że pomogłem. .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Listopad 15, 2007 Zgłoś Share Napisano Listopad 15, 2007 Witam! O ile dobrze pamietam 1/FPS = MaxDeltaTime Znamy MaxDeltaTime = const = 30 Wiec MaxDeltaTime = 1/30 Pozdrawiam Spider ^*^ www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
Siber Napisano Listopad 15, 2007 Autor Zgłoś Share Napisano Listopad 15, 2007 Niestety nic to nie dało Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Listopad 15, 2007 Zgłoś Share Napisano Listopad 15, 2007 Możesz zrobić tak: 1.) Użyć komponentu TAsyncTimer i wywoływać zdarzenie OnProgress Cadencera; 2.) Użyć właściwości SleepLength Cadencera. Wpisz ten kod w zdarzenie OnProgress: begin if (GLSceneViewer.FramesPerSecond() > 30.0) then GLCadencer.SleepLength := GLCadencer.SleepLength + 1; if (GLSceneViewer.FramesPerSecond() < 30.0) then GLCadencer.SleepLength := GLCadencer.SleepLength - 1; if (GLCadencer.SleepLength < -1) then GLCadencer.SleepLength := -1; end; Kod może nie jest perfekcyjny, ale powinno działać. .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.