O takim rozwiązaniu w sumie właśnie myślałem. Tylko ciągle nie wiem jak załatwić kwestię zliczania dostępnego/pozostałego czasu jaki mam gdy zaczynam rysować te sprajty...
Dodanie wagi(=czasu potrzebnego na rysowanie) - ok. Oznaczenie wyświetlonych sprajtów już mam w silniku, ze względu na podwójne buforowanie (kontroluję, na których ekranach jest narysowany).
@RafalM a czy złym pomysłem byłoby przechowywanie zbliżonych czasów wykonania głównych procedur? (z uwzględnieniem skrajnych przypadków). Nie chciałbym się dostosowywać do "najgorszego przypadku", a zwalnianie z 50hz na 25hz jest trochę zbyt wyraźne. "Chciałbym" wyciskać ile się da z dostępnego czasu w ramce...;p Jendak jak się nie uda to się nie uda i chyba dodam dodatkowe ustawienia w menu - czy "force 50hz" i wtedy rysować dla najgorszego przypadku, "mixed" albo jakoś tak i po prostu "force 25hz" bo w tylu na razie chodzi bez problemów przy wszystkich opcjach...
Ogólnie to silnik sprajtów działa na 3 bufory (gra na 128kb, więc "co mi tam"). Jeden jest "czysty" używany do mazania sprajtów, dwa pozostałe jak w standardowym podwójnym buforowaniu. Chodzi o tę "grę", której wipa prezentowałem już jakiś czas temu
https://www.youtube.com/watch?v=5Qb3tiWqjtU . Co prawda wip już stary i trochę się zmieniło, bo udało się znacznie przyspieszyć silnik sprajtów przez niestandardowy układ pamięci i użycie sprajtów kompresowanych/kompilowanych. Pojawiła się szansa aby to działało w 50hz, a "gra" przy typie jaki reprezentuje dużo by zyskała przez to na "gameplayu"... (Tylko czy warto to dłużej męczyć?...), ale przede wszystkim jest to jakieś "wyzwanie".
Mógłbym jeszcze trochę zoptymalizować sprajty tych płomieni wyłączając częściowe maskowanie (tylko bajty w pełni przezroczyste lub całkowicie nieoprzezroczyste - każdy "częsciowy" traktowany jako nieprzezroczysty)... innych możliwości chyba nie mam... No może jeszcze zobaczyć czy mazanie stosem nie byłoby szybsze niż obecnie użyte...
Nie bardzo mam szansę podzielić sprajty na 2 grupy, o których pisał Dr Piotr... a przynajmniej na razie tak mi się wydaje...
Widzę, że przy np. deszczu i muzyce to nawet miganie wszystkich sprajtów (tj. rysowanie połowy sprajtów w każdej klatce) nie daje zawsze 50fps, ale z samą muzyką powinno być ok.