[#11]
Re: Przerwanie wygaszania pionowego
@rzookol,
post #8
Przede wszystkim dziękuję za odpowiedzi i okazaną pomoc.
@misOr
Dokładnie o to mi chodzi w moim pomyśle. Próbowałem już zakodować z widokiem z góry, gdzie bohater może obracać się o dowolny kąt i chodzić do przodu lub do tyłu ale grywalność była bardzo niska, więc zamierzam zrobić widok z boku. Ale napisanie tej gry zajmie mi wiele miesięcy.
@rzookol
Póki co robię wersję AGA i synchronizuję za pomocą VBlank by uzyskać 50 fps. Z tego też powodu nie używam timer.device. Timer.device mogę użyć do innych celów. OK. Napiszę również wersję, którą da się przeportować pod kartę graficzną, gdzie napiszę nakładki na funkcje rysujące.
@asman
Ruchome obiekty będę rysował za pomocą blittera dla maksymalnej szybkości, bo wymagają użycia 4 kanałów A, B, C i D (w tym maski), a nieruchome za pomocą BltBitMap(), który jest bardzo szybki (spójrzcie na Robbo - nawet nie używam podwójnego buforowania). Boby systemowe są po prostu śmieszne. BltMaskBitMapRastPort() jest za to zbyt wolny. Oprócz tego nieruchome obiekty nie wymagają użycia przerwania bo nie wymagają szybkiego i płynnego ruchu.
@szuler
ad.1) To prawda, że usypia, ale w przerwaniu można bez problemu używać rejestrów systemowych w tym blittera, więc również oczekiwanie na skończenie przez blittera pracę.
ad.2) Ależ do tego służy przerwanie, a szczególnie VERTB. Poza tym Blitter używa swojego DMA, więc nie spowolni systemu. Nadmienię też, że system umożliwia nawet stworzenie kolejki procedur, które chcą korzystać z przerwania.
ad.3) To prawda. Napiszę port dla karty graficznej.
ad.4) Tak jak w punkcie 3.
ad.5) Nie ignoruję wypowiedzi, mogę na niektóre po prostu nie odpisywać. Teraz musiałem odpowiedzieć aż na 4 listy.
Wszystkim polecam przykład z RKRM pod tytułem "vertb" z "Exec Libraries", który pokazuje użycie tego przerwania - zlicza on ilość ramek i w ogóle nie spowalnia systemu. Poćwiczę trochę z tym przerwaniem i rysowaniem obiektów. Jak napisałem w poprzednim poście umieszczenie kodu w przerwaniu nie jest w 100% konieczne, ale warto wypróbować.
Ostatnia modyfikacja: 16.09.2008 13:54:52