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!
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.
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.
@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).
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?
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 :)
@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).
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.
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).
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.
@ 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 .
@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.
"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ć .
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 ;)