27 October 2006, 19:38 | #1 |
Zone Friend
Join Date: Oct 2006
Location: uk
Posts: 148
|
smooth scrolling.is it possible?
can anyone suggest why games that scroll silky smooth on my amiga,jerk a little bit in winuae.ive tried various settings(sometimes running at 60fps smooths a few games out,but also increases the game speed/music etc).my cpu is 3ghz.
is it because pc monitors/tfts refresh at 60fps,and if so how to get my monitor to refresh at 50?. cheers. |
27 October 2006, 19:44 | #2 |
.
Join Date: Oct 2004
Location: Ioannina/Greece
Posts: 5,040
|
make the refresh rate 100Hz. that will fix this.
edit: now I see u have a TFT monitor. I don't think u can change that.... |
27 October 2006, 20:05 | #3 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Unfortunate PC hardware limitation. You need either 50Hz or 100Hz to get smooth scrolling. (or 56Hz/60Hz but everything speeds up as you have already noticed)
Some TFTs will sync down to 50Hz (which is nice because you won't get any flicker like with CRTs) |
27 October 2006, 20:24 | #4 |
Registered User
Join Date: Aug 2004
Location: Amiga_land
Posts: 443
|
@kirk:
attach your PC to a PAL TV. |
27 October 2006, 20:48 | #5 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
|
|
14 November 2006, 00:27 | #6 |
Registered User
Join Date: Mar 2001
Location: Moorpark, California
Age: 44
Posts: 1,153
|
Hey guys.
I've been interested in this thread. Is the benefit of using a TV the ability to get the vertical refresh at 50hz, and does this really help with smooth scrolling? If so I'll have to get myself an S-Video to SCART adapter On a somewhat unrelated note... If you have a SCART switchbox and two inputs from two PCs with nVidia cards it, do you know if they will both be able to recognise that they are connected to a TV even if only one of them is 'switched' at any one time? I know the last part is off-topic but anyone with experience could help |
14 November 2006, 02:34 | #7 | |
Dinamáquina
Join Date: May 2002
Location: BH/Brasil
Age: 49
Posts: 370
|
Quote:
|
|
14 November 2006, 10:26 | #8 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,337
|
I know this would probably be a lot of work for Toni, but would it be possible to detect the Windows / Monitor frame rate and then interpolate between Amiga frames?
Such a technique would keep scrolling smooth but increase the memory overhead of the buffering (as you now need sub-pixel accuracy) and obviously hit the cpu power required to interpolate. I would imagine 75Hz would be possible? 1.5x frame rate? |
14 November 2006, 16:21 | #9 |
Zone Friend
Join Date: Apr 2005
Location: London
Posts: 1,176
|
That would be cool. My monitor will only do 60, 75, or 85Hz.
|
14 November 2006, 16:26 | #10 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
|
|
14 November 2006, 19:46 | #11 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,337
|
Bear with me and I will explain what I think causes jerky scrolling. I may very likely be wrong.
When the refresh rate of the PC is a match to (or whole multiple of) the Amiga refresh rate, the moving images spend an equal amount of time on each pixel of the screen. (Assuming that the original Amiga scroller was smooth). This equal amount of time on each pixel (together with how many pixels you move the graphics by per frame) is what gives scrollers their smoothness. Are we agreed so far? If you increase the PC refresh rate to 75Hz and increase ALL emulation timings by the same amount (I dont think this is currently possible with WinUAE?) the scrolling will still stay smooth, moving images will still spend an equal amount of time on each pixel of the screen, BUT the emulator speed is increased which will result in sound playback issues (it will sound faster / higher pitch). If you wanted to increase the refresh rate to say 75Hz but keep the emulation timings at 50Hz you (in my mind) "hold" 50% of frames. That is you display 50% for 1x frames and 50% for 2x frames? It is this repeating of frames (or rather "variable frame time") which I thought was responsible for the "jerky scrolling". In order to get around this jerky scrolling I was suggesting an alternative to displaying frames for variable lengths of time. Instead create interpolated frames which (at 75Hz) would be half way between the current and next and displaying that instead. You would have 75 different frames per second and that (in my mind) will eliminate the jerky scrolling. Do you not think so? I admit that compensating for "ANY" refresh rate my prove a nightmare, but I think for the "easy" example of 75Hz it should work. It is possible that I have made a basic "faux pas" and you are going to throw this right back at me. Last edited by alexh; 14 November 2006 at 20:06. |
14 November 2006, 20:43 | #12 |
Registered User
Join Date: Oct 2006
Location: USA
Posts: 1,058
|
Here's my little remark:
100 Hz is _second_ best to 50 Hz (which sadly most monitors/gfx cards don't support). At 100 Hz however, you will _still_ see more jerkiness than at 50 Hz. While scrolling is smooth, you will see the last frame a bit like a shadow(check with e.g. poing on WB, you will see the ball twice at certain speeds instead of once like in 50 Hz). This is because each frame is displayed twice instead of once. Even though it happens at a high frequency, somehow the eye will pick this up and register this little bit of jerkiness when directly compared to 50 Hz. This was also a problem on the first 100 Hz TVs that came out. It manifested itself on the scrolly text, e.g. on the weather channel. It made some of the text unreadable at certain scroll-speeds. The companies that produced those TVs added some weird complicated digital processing to get rid of the effect on 100 Hz TVs, if I remember the story right.... But apart from that, 100 Hz is definitely the way to go. The little program called "refreshlock" might help you fiddeling with refresh rates, especially on other emulators like winvice, that don't have auch a nice manifold of options that WinUAE has. |
14 November 2006, 22:17 | #13 | |
Registered User
Join Date: Mar 2001
Location: Moorpark, California
Age: 44
Posts: 1,153
|
Quote:
|
|
15 November 2006, 08:00 | #14 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
|
|
15 November 2006, 09:17 | #15 | |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,337
|
Quote:
As an experiment would in be possible in WinUAE to sync ALL aspects of the emulation to the vsync? Increase the speed of the emulation, all timings etc. to the refresh rate. Most flat panels will do 56Hz, would an 11% speed increase be an acceptable compromise for the benefits of smooth scrolling? Side-Line: I never owned an NTSC Amiga, but what happens with Euro-Demos and games on a 60Hz NTSC Amiga? Do they have poor-scrolling / glitches? |
|
15 November 2006, 11:02 | #16 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
|
|
15 November 2006, 12:49 | #17 | |
Oh noes!
Join Date: Mar 2003
Location: Neverland
Posts: 766
|
Quote:
But won't this be about the same thing as interpolation of NTSC (NTSC telecine)? 3progressive/2 blended frames. It will look just fine on things that don't scroll.. and will blend on scrolling objects but should be relatively OK unless you pause on a blended picture or vertical res is interlaced. |
|
15 November 2006, 13:55 | #18 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
I still can't see it working (and if it can work, why it isn't it implemented in any existing emulator?)
|
15 November 2006, 15:42 | #19 | ||
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,337
|
Quote:
Perhaps my graphics card (Geforce 2 MX 400) & driver doesn't accurately report VSYNC interrupts to WinUAE? Quote:
I am going to have a think about it and try and work out all the "gotchas". I'll also run it by Lord of Emulators, David "Sparcade" Spicer, if anyone will know it will be him. |
||
15 November 2006, 16:04 | #20 | |
Banned
Join Date: Aug 2005
Location: London / Sydney
Age: 47
Posts: 20,420
|
Quote:
I remember David Spicer... Hmmm, don't think he still works on Sparcade anymore though? This was one of the first arcade emulators I tried |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
LCD and smooth scrolling (not a 50Hz or a vsync problem) | aidenn | support.Other | 26 | 16 April 2010 18:20 |
smooth scrolling | sink | support.WinUAE | 3 | 20 July 2007 01:16 |
Smooth scrolling with WinUAE? | Tony Landais | support.WinUAE | 13 | 30 May 2007 03:55 |
Smooth scrolling in 100Hz | Kintaro | support.WinUAE | 21 | 27 February 2003 15:55 |
Just can't get smooth scrolling | Bobbin | support.WinUAE | 0 | 23 November 2002 00:52 |
|
|