PasjaGSM.pl
  Jesteś w: Forum > fps


fps

Forum.PasjaGSM.pl » ...:Sprzęt:... » Nokia » DCT-3 » [DCT3] Modyfikacje HW i SW » NokiX » Programowanie » fps
Poprzedni temat «» Następny temat
Autor Wiadomość
 
y37 
Expert
D E I C I D E



Telefon: kilka
Operator: Plus
Pomógł: 17 razy
Wiek: 108
Dołączył: 14 Paź 2004
Posty: 1226
Skąd: z nienacka
Ostrzeżeń:
 1/5/6
Wysłany: 2006-04-16, 21:20   fps

od jakeigos czasu zastanawim sie nad napsian benchmarka noi sobie tam bazgrole jakies efekty ale nie mam pomyslu jak napisac FPS help ;-)
_________________
kontakt: y37 ( at ) jabber.org
^
 
     
AdSense


MaximusResetus 
Wie co mówi
Shoot 'Em Up !



Telefon: 55,33,e398
Operator: Era
Pomógł: 3 razy
Wiek: 32
Dołączył: 23 Lip 2004
Posty: 456
Skąd: Nowy Sącz - okolice
Wysłany: 2006-04-17, 11:27   

no fps to jest ilośc klatek na sekunde, więc pasowałoby zliczać ilość wyświetlanych ekramnów w danym czasie. Jest jednak problem ze zliczaniem czasu co sekundę,bo każda instrukcja to dodatkowy jeden takt zegara... zreszta ten problem pojawił się juz w stoperze. Ja bym proponował zliczyć wszystkie wyrysowane ekrany w cgu minuty, bo niezależnie co minutę przycodzi jakś wiadomość o ile mnie pamięć nie myli, potem podzielić przez 60 i już jest liczba klatek na sekundę... :)
_________________
http://www.kwitnaceogrody.pl - projektowanie ogrodów - aranżacje zieleni - realizacja nasadzeń
^
 
     
y37 
Expert
D E I C I D E



Telefon: kilka
Operator: Plus
Pomógł: 17 razy
Wiek: 108
Dołączył: 14 Paź 2004
Posty: 1226
Skąd: z nienacka
Ostrzeżeń:
 1/5/6
Wysłany: 2006-04-17, 22:40   

MaximusResetus, no do tego nawet sam doszedłem tylko jak to napisac jakis zarys mi jest potrzebny
_________________
kontakt: y37 ( at ) jabber.org
^
 
     
sander18 
Starszyzna
Nie Wie Co Pisze ;)



Telefon: nokie
Operator: Orange
Pomógł: 29 razy
Wiek: 33
Dołączył: 02 Mar 2005
Posty: 511
Skąd: z kątowni ;)
Wysłany: 2006-04-18, 08:38   

y37, no ja wpadlem na taki pomysl myslac o fps w fire: uruchamiasz timer i ustawiasz go na 125 (1 sekunda) nastepnie zerujesz licznik, powiedzmy, ze nazywa sie frames. i pozniej przy kazdym odrysowaniu ekranu dajesz:
Kod:
frames++;

po wyzerowaniu timera odswiezasz informacje o fps i znow ustawiasz timer, zerujesz licznik itd...
_________________
W dżungli amazońskiej odkryto nowy gatunek kameleona. Ma 65 tys. kolorów i polifoniczne dzwonki :D
^
 
 
     
y37 
Expert
D E I C I D E



Telefon: kilka
Operator: Plus
Pomógł: 17 razy
Wiek: 108
Dołączył: 14 Paź 2004
Posty: 1226
Skąd: z nienacka
Ostrzeżeń:
 1/5/6
Wysłany: 2006-04-18, 09:59   

sander18, no odbrze ale jesli po zerwaniu licznika w frames bedzie 1 i znow sie dodawac 1 i tak w kolko bez efektu widocznie to fps musilo byc jakas warstwa a nie dzialac na timerach
_________________
kontakt: y37 ( at ) jabber.org
^
 
     
sander18 
Starszyzna
Nie Wie Co Pisze ;)



Telefon: nokie
Operator: Orange
Pomógł: 29 razy
Wiek: 33
Dołączył: 02 Mar 2005
Posty: 511
Skąd: z kątowni ;)
Wysłany: 2006-04-18, 10:17   

eee... nie dokonca rozumiem... chodzi o to ze w ten sposob licznik mamy odswiezany tylko sekunde? jesli tak to jest jeszcze jedna rada, na ktora tez wpadlem, ale nie potrafie tego wykonac... po prostu trzeba miezyc czas pomiedzy jedna klatka a druga. jak to zrobic? ano jest jakas tam komenda ktora pokazuje czas od wlaczenia fona. wiec wywolujemy po kazdym odrysowaniu ekranu i odejmujemy poprzednia wartosc. mozna tez po kazdym odrysowaniu ustawiac timer i przy kolejnym odrysowaniu odczytywac jego wartosc i juz mamy czas miedzy jedna klatka a druga (podany w 1/125 sekundy czyli calkiem niezla dokladnosc). nastepnie trzeba usunac timer i znow go ustawic. w ten sposob mamy czas odrysowania kazdej klatki czyli licznik fps mozna obliczyc co dla kazdej klatki ;)
_________________
W dżungli amazońskiej odkryto nowy gatunek kameleona. Ma 65 tys. kolorów i polifoniczne dzwonki :D
^
 
 
     
y37 
Expert
D E I C I D E



Telefon: kilka
Operator: Plus
Pomógł: 17 razy
Wiek: 108
Dołączył: 14 Paź 2004
Posty: 1226
Skąd: z nienacka
Ostrzeżeń:
 1/5/6
Wysłany: 2006-04-18, 10:30   

skoro fps to ilosc klatek na sekunde to mozna by tak
na kazda sekunde zapisujemy jak wyglada nasz ekran i co kazda np. 5 mili sekund znow zczytyujemy i porownujemy z wczesniej zapisanm (ciekawe czy nasz nokie by to przerobili)
czyli plan:
1sekund 00mm zczytujemy obraz do gdzies tam (ram,eeprom)
1sekunda 05m zczytaujemy obraz gdzies i porownojemy z wczesniejszym jesli inny +1 jelsi taki sam nic
2sekund 00 usuwamy wczesniejse zczytaujemy nowe itd itp
_________________
kontakt: y37 ( at ) jabber.org
^
 
     
yak 
Starszyzna



Telefon: Kilka DCT3
Operator: Vodafone
Pomógł: 20 razy
Wiek: 36
Dołączył: 21 Gru 2004
Posty: 774
Skąd: Bochum / Niemcy
Wysłany: 2006-04-21, 18:27   

Opiszę krótko rysowanie po ekranie wg. Nokii.

Ekran opisany jest przez różne okna. Okna mają wiele parametrów, przypisaną jedną zonę która określa pozycję i rozmiar okna itd. Mają też odpowiednie struktury w RAMie które opisują co aktualnie znajduje się w oknie.

Wszelkiego rodzaju funkcje wywoływane z tasku UI (np. Kalkulator) nie rysują bezpośrednio po ekranie a jedynie modyfikują te struktury w RAMie. Po każdej modyfikacji okno oznaczane jest jako "zmienione" czyli że musi zostać odrysowane. Co jakiś czas z tasku UI wywoływana jest funkcja update_screen() która analizuje te struktury i odrysowuje co trzeba w buforze ekranu a następnie informuje task DEV IO, że trzeba bufor przesłać do LCD.

Możnaby znaleźć w niej miejsce które wywoływane jest raz po każdym updacie ekranu. Zliczając te wywołania możnaby obliczyć FPS.

Metoda ta zadziała (o ile zadziała) także z moim FreeGFX gdyż mój system oparty jest o system Nokii. Główną różnicą jest to, że struktury okien Nokii przechowują na przykład wskaźnik na napis i w danym oknie napis ten jest automatycznie pozycjonowany i skalowany zależnie od wybranych atrybutów (zobacz: dump_windows_tags.nrx). Natomiast FreeGFX przechowuje po prostu bufor całego ekranu także można rysować co się chce a nie tylko jeden napis. Ale reszta to praktycznie to samo. Po wywołaniu freegfx_end() (a więc po zakończeniu rysowania) okno FreeGFX'a oznaczane jest jako "zmienione" i w update_screen() jego zawartość kopiowana jest do bufora głównego skąd później (w tasku DEV IO) trafia do LCD.

Pozdrawiam
[Yak]

DODANE

W zasadzie nawet lepszym miejscem na to zliczanie byłaby właśnie funkcja wysyłająca bufor ekranu do LCD.

W 3310/6.07 funkcja ta znajduje się pod adresem 0x281de0.

LOCATE.rx potrafi ją znaleźć pod nazwą "to_screen".

Mała uwaga. Jak widzicie, firmware nie robi pustych przebiegów, nie odrysowuje ekranu jeśli nie trzeba. A więc jeśli nic się nie będzie zmieniać na ekranie to nie będzie wywołań tej funkcji. Jak z tego wyliczyć FPS to wyjdzie zero :D.
_________________
NokiX Ci się podoba? Kliknij i wyraź to!
^
 
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do: