atarionline.pl Płynny scrolling obazu w emulowanym Atari - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorraphis
    • CommentTime5 Mar 2017
     
    Od dłuższego czasu nurtuje mnie skuteczny sposób na uzyskanie płynnego przesuwu obrazu w emulatorach Atari.
    Teoretycznie zmiana odświeżania obrazu w monitorze do 75Hz powinna dać przybliżony efekt do 50Hz PAL, w praktyce tak nie jest.
    Na co dzień korzystam z emulatora Atari800 pod Linux i irytuje mnie jego gubienie klatek animacji w przypadku scrollingu. Co najdziwniejsze, najbardziej jest to zauważalne w poziomie.
    Dla próby zainstalował sobie Windowsa 7 z emulatorem Altirra, tutaj również na 75Hz obraz się lekko przycinał.
    Najlepiej wypadł dla mnie emulator Atari800 w Rasberry Pi, który był podłączony pod TV LCD z odświeżaniem obrazu 50Hz.
    Obraz był znacznie płynniejszy jednak i tu zauważyłem co kilka sekund gubienie klatki.
    O co tu chodzi? Czy jest na to jakiś uniwersalny sposób?

    Dodam jeszcze, że dodatkowo testowałem emulatory konsol SNES i Sega, w trybie 60Hz NTSC gry były niemal idealnie płynne!
    • 2: CommentAuthorantrykot
    • CommentTime5 Mar 2017 zmieniony
     
    Mój współczesny telewizor do którego podłączam oryginalne Atari też gubi klatki (a może je duplikuje?). Prawdopodobnie dlatego że częstotliwość vblank w Atari PAL to 49.8607 a nie 50 Hz.
    • 3:
       
      CommentAuthorTheFender
    • CommentTime5 Mar 2017 zmieniony
     
    Nie ma możliwości wyświetlenia płynnych 50Hz na 60Hz i więcej. Chyba, że na 100 (teoretycznie). Są też nowoczesne wynalazki w stylu g-sync (lepszy) lub freesync (gorszy), które schodzą poniżej 60 Hz i teoretycznie 50Hz powinny wyświetlić z przysłowiowym palcem w nosie.
    To, że gry z usa działają idealnie na 60Hz nie powinno Cię dziwić. Wszak NTSC to jest właśnie 60Hz (dokładnie 59.94) i jest to pochodna parametrów prądu w us sieci (110V/60Hz). Gdyby standard VGA wymyślono w Europie, zapewne miałby 50 Hz, niestety cały świat trzyma się parametrów, które to są pochodną parametrów przesyłu prądu w sieci energetycznej stanów zjednoczonych ameryki północnej.

    Niewiele mogę napisać o Altirze ale np w WinUAE można sobie ustawić synchro z ramką, wtedy scrolle będą płynne. Ale przy 60Hz będą też szybsze, muzyka będzie grała szybciej i wyżej itd. W nowszych wersjach autor emulatora chwali się współpracą z g-synciem, jak się to ma w praktyce nie wiem.
    • 4:
       
      CommentAuthorTheFender
    • CommentTime5 Mar 2017 zmieniony
     
    @antrykot: nowoczesne telewizory wyświetlają obraz w standardzie 60 Hz.

    A co do 49.8607 - to jest w praktyce 50 Hz, nie zauważysz różnicy bo obraz typu PAL jest synchronizowany.
    Dzisiejsza telewizja to już nie jest PAL, ma o wiele lepsze parametry obrazu (na szczęście).
    • 5: CommentAuthorantrykot
    • CommentTime5 Mar 2017 zmieniony
     
    Chcesz przez to powiedzieć, że jak podłączę do takiego telewizora źródło sygnału PAL, to on wciąż będzie wyświetlał obraz w 60 Hz, zamiast się przełączyć na 50 lub dostosować do atarowskiego 49.86 Hz, tak jak robiły to telewizory analogowe?
    • 6: CommentAuthorwieczor
    • CommentTime5 Mar 2017 zmieniony
     
    Oczywiście że nie będzie. Telewizor nie chodzi autorytatywnie na 50 czy 60Hz a sygnał albo się z nim zgodzi albo nie :) Po to masz w sygnale wizji synchro aby właśnie telewizor wiedział kiedy klatkę albo linię zacząć i tego telewizor (sprawny) się słucha.

    A współczesny obraz TV to jest jak najbardziej nadal PAL.

    Jeszcze jedna uwaga - sygnał wizji z Atari (rh znaczy) lekko odbiega od standardu - stare analogowe odbiorniki nie miały z nim problemu bo to w zasadzie sygnał nimi sterował, te nowoczesne, które najpierw obraz próbkują, mogą się czasem gubić, bo oczekują określonych impulsów w określonych miejscach. Np scandoubler gonbesa miał ten problem.

    Problem z telewizorami np. 100Hz (ja mam taki) i scrollingiem na Atari wynika stąd, że one obraz też próbkują a zakładają że jest z przeplotem. Podczas gdy obraz z Atari nie jest. I co druga linia gdy obraz się co klatkę przesuwa jest lekko przesunięta :)
    • 7:
       
      CommentAuthorTheFender
    • CommentTime5 Mar 2017 zmieniony
     
    @antrykot: dokładnie tak jest, 60Hz non stop a komputer wewnętrzny dubluje odpowiednie klatki - wtedy właśnie scroll "rwie"

    @wieczór: nie masz racji, nowoczesne odbiorniki LCD i sygnał wizyjny to nie jest PAL. Wyświetlają go dokładnie tak samo, jak wyświetlają obraz z Amigi czy z Atari. Przed konwersją dochodzi oczywiście jeszcze głowica UHF (wejście antenowe, jeśli telewizor je posiada).
    • 8: CommentAuthorwieczor
    • CommentTime5 Mar 2017 zmieniony
     
    Na poziomie RGB nie masz już systemu - ani PAL ani NTSC ani nic innego. I nie ma to nic wspólnego z nowoczesnymi odbiornikami, tak było zawsze - PAL czy inny system jest ostatecznie na poziomie composite. Bo PAL czy NTSC to nie tylko częstotliwości. I na poziomie composite masz PAL jak najbardziej. A obraz nie jest cały czas w 60Hz. Może być 100 albo 120, ale może być też 50 lub 60. Acha - częstotliwość odświeżania matrycy LCD to nie jest to samo co VBLANK. Przy LCD czegoś takiego jak VBLANK de facto nie ma, ekran się świeci cały, to jest emulowane i jest emulowane z częstotliwością właściwą dla sygnału. Jest tylko odświeżany ale to nie ma nic wspólnego z zsynchronizacją pionową.

    Przy VBLANK obraz gaśnie (na CRT) i dlatego ekran "mruga" z taką częstotliwością - jeśli częstotliwość mrugania i sygnału się nie zgadzają to wtedy oczywiście wizualnie gubią się klatki i może rwać. W cyklu odświeżania nic nie gaśnie i nie mruga - obraż może byc i 100Hz i 120 - a ekran może odświeżać się 60 razy na sekundę - ale to nie znaczy że on się zmienia tylko 60 razy na sekundę. Spokojnie może się zmienić między jednym a drugim cyklem odświeżania i wszystko widac, ten proces służy czemu innemu.
    • 9:
       
      CommentAuthorTheFender
    • CommentTime5 Mar 2017 zmieniony
     
    No ale Wieczór patrz - PAL to nie tylko parametry modulacji sygnału, ale również ilość linii oraz liczba ramek. Jest tam ileś odmian PAL, ale generalnie to biega wokół 700 linii w pionie (nie pamiętam dokładnie) i 25 klatek (które łatwo wyświetlić stosując 50Hz wyświetlając co 2 linię naprzemian). A 50Hz -> bo sieć w Europie to 220-240V/50Hz.

    Standard HDTV to 720p, 1080p/i. Matryca na ekran podaje sygnał w standardzie 60Hz. VBLANK nie istnieje, ale istnieje odświeżanie matrycy jak najbardziej. Dlatego stosuje się termin częst. odświeżania matrycy a nie mówi o sygnale wygaszania pionowego który dotyczy lamp kineskopowych. Matryca nie "świeci się" cały czas, choć oczywiście z punktu widzenia rzucania na nią obrazu to tak. Po prostu nie interesuje Cie jak ona to zrobi, tylko formułujesz co chcesz. A sterownik matrycy i tak zrobi to po swojemu, dopiero G-sync i Freesync pozwala na ingerencję w sterownik matrycy na poziomie programowym.

    Odmiany PAL/NTSC nowoczesnych telewizorów, jeśli gdzieś się jeszcze pojawiają są skrótem myślowym. A oznaczają tylko to, że różnią się sekcją zasilania (50Hz vs 60Hz).
    • 10: CommentAuthormono
    • CommentTime5 Mar 2017
     
    Ale to czy działo elektronowe wraca z prawego dolnego rogu do lewego górnego nie ma znaczenia (na czas tego powrotu działo jest wygaszane żeby nie malować linii w poprzek obrazu i stąd nazwa - Vertical BLanK). To czy zawartość ekranu jest stabilnie utrzymywana przez wyświetlacz czy gaśnie po jakimś czasie też nie ma znaczenia - znaczenie ma natomiast to, że zmienić zawartość obrazu można 50x albo 60x na sekundę i nie częściej. Więc jak coś zmienia obraz częściej, to po prostu i tak odświeżane będzie z ustalonym interwałem 50Hz albo 60Hz. No i stąd wynikają przeskoki/przestoje.
    Ruscy zdaje się kiedyś robili takie sztuczki, że w celu uniknięcia rwania interpolowali całą ramkę z dwóch sąsiednich :) Ale nie wiem czy to jest dobry efekt.
    • 11:
       
      CommentAuthorTheFender
    • CommentTime5 Mar 2017
     
    Tak działa technologia 100Hz przecież :)

    A co do ruskich, to oni robili jedną ramkę z dwóch bo nie potrafili zrobić jednej dobrej ;)
    • 12:
       
      CommentAuthorIRATA4
    • CommentTime5 Mar 2017 zmieniony
     
    @ antrykot
    powyłączajcie wszelakie ustawienia poprawiające obraz ,dodające klatki (movie +)itp. a wszystko będzie ok.

    LUDZIE
    bzdury piszecie ,odświerzanie przy nowych tv ma się nijak do animacji to nie CRT gdzie przy 60Hz obraz zyskiwał 10 klatek animacji w stosunku do 50Hz ,wina tkwi w emulatorze .
    "Nie ma możliwości wyświetlenia płynnych 50Hz na 60Hz i więcej. Chyba, że na 100 (teoretycznie). Są też nowoczesne wynalazki w stylu g-sync (lepszy) lub freesync (gorszy), które schodzą poniżej 60 Hz i teoretycznie 50Hz powinny wyświetlić z przysłowiowym palcem w nosie.
    To, że gry z usa działają idealnie na 60Hz nie powinno Cię dziwić. Wszak NTSC to jest właśnie 60Hz (dokładnie 59.94) i jest to pochodna parametrów prądu w us sieci (110V/60Hz). Gdyby standard VGA wymyślono w Europie, zapewne miałby 50 Hz, niestety cały świat trzyma się parametrów, które to są pochodną parametrów przesyłu prądu w sieci energetycznej stanów zjednoczonych ameryki północnej."
    w Srameryce miałeś 60Hz i pełne 60 klatek przy czym obraz był wyświetlany co drugą linie ,w Europie PAL i 50Hz do 50 klatek przy czym pełen obraz wyższa rozdzielczość (zauważalne przy krawędziach)lepszy obraz .
    • 13:
       
      CommentAuthorTheFender
    • CommentTime5 Mar 2017
     
    @irata4: każda telewizja analogowa składała obraz z dwóch półobrazów (czyli co 2 linię). Ale NTSC miało mniej poziomych linii a PAL więcej, stąd lepiej wyglądający obraz.
    Natomiast co lepszego obrazu na krawędziach, to może pomyliłeś z SECAM-em bo tam dzięki innej technologii modulacji obraz był bardziej odporny na zniekształcenia przy przesyle.
    • 14:
       
      CommentAuthorIRATA4
    • CommentTime5 Mar 2017
     
    "Ale NTSC miało mniej poziomych linii a PAL więcej,"
    stąd bardziej widoczne krawędzie,nic nie pomyliłem , przerabiałem ten temat milion razy przy okazji PSX,N64,PS2,GC i X-boxa dlatego nie mam już siły sprzeczać się i dokładnie tłumaczyć .
    • 15:
       
      CommentAuthorTheFender
    • CommentTime6 Mar 2017
     
    irata4 dyskutujemy przecież a nie sprzeczamy się :)

    Pisząc krawędzie po prostu napisz o które krawędzie chodzi, bo myślałem że obrazu (a zapewne chodziło o krawędzie grafiki, czyli alias po prostu?).
    • 16:
       
      CommentAuthorIRATA4
    • CommentTime6 Mar 2017
     
    TAK ,o to chodziło , krawędzie ekranu mi nie przeszkadzają ,do tego w starych tv rogi były zaokrąglone ;).
    • 17:
       
      CommentAuthorTheFender
    • CommentTime6 Mar 2017 zmieniony
     
    No widzisz, bo ja np przy podłączeniu do tv kolorowego miałem lekką deformację dołu obrazu przy krawędzi (w okolicach krawędzi dolnych, tak powiedzmy na obszarze 3cmx3cm). Więc jak przeczytałem o krawędziach to pierwsze skojarzyło mnie się z tym.
    Ale może pora zakończyć ten lekki offtop ;)