Strona główna › Forums › Klub dyskusyjny › Ale jaja, forum działa! › Ale jaja, forum działa!
I tu właśnie wyłażą wady multiplatformowych bibliotek. W systemie amigowym zrobiłbyś tak, że timer.device odpowiadałoby Ci na request w regularnych odstępach czasu, a sygnał portu powrotnego tej odpowiedzi dodałbyś do maski Wait() w głównej pętli. Wtedy, po przeliczeniu i narysowaniu ramki spokojnie wszedłbyś w Wait() oddając systemowi procesor bez obawy, że musisz czekać na ruch użytkownika myszą. Nawet jeżeli użytkownik nic nie zrobi, Wait() wróci po sygnale z timera i spokojnie narysujesz następną klatkę… A jak łatwo użytkownikowi dać do ręki regulację FPS-ów (np. na potrzeby urządzenia pracującego z baterii) – wystarczy zmienić interwał czasu dla timer.device. To chyba wiem o czym będzie pierwszy artykuł programistyczny na MorphOS.pl…
To prawda, stosowanie multiplatformowych rozwiązań jest na pewno dużo bardziej toporne i mniej eleganckie. Zwłaszcza dla kogoś kto siedzi głęboko w jakimś systemie.
A jeżeli chodzi o regulację max FPS to też jest to u mnie kwestia zmiany jednej zmiennej. Na iPhone/iPod/iPad robię tak, że jak wylezie na wierzch jakiś systemowy requester (SMS/MMS, info o baterii, przypominajka, powiadomienie z PushNotification, itp.) to zmniejszam maxFPS do 10FPS. Po powrocie do gry znów wracam do normalnej wartości. Problem ciągle był tylko w tym, że nadmiarowy czas nie był oddawany procesorowi tylko para szła w gwizdek, maszyna robiła dosłownie nic oprócz "aktywnego czekania". 🙂 No ale jest ok i to dzięki temu, że mnie (może nieświadomie) zmusiłeś.
Copyright 2014 - Wszelkie prawa zastrzeżone MorphOS.pl