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 10:03
       
      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 10:03 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 10:03 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 10:03 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 13:03 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 13:03 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 14:03 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 14:03 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 14:03 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 15:03
       
      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 15:03
       
      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:
         
        CommentAuthorCOR/ira4
      • CommentTime5 Mar 2017 17:03 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 19:03
       
      @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:
         
        CommentAuthorCOR/ira4
      • CommentTime5 Mar 2017 22:03
       
      "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 07:03
       
      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:
         
        CommentAuthorCOR/ira4
      • CommentTime6 Mar 2017 10:03
       
      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 11:03 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 ;)