View Full Version : How to smooth frames for scrolling games on Bsnes emulator?
NorseChief
October 8th, 2009, 12:08
One thing that has always bothered me about snes emulators is that all scrolling games have this jerky scrolling. I know these games don't run like this on the original consoles and I know that the scrolling and frame skipping is meant to be smooth as a baby's bottom.
For example, Super Mario World on any snes emulator. When you are moving, the frames don't run smoothly. They jerk by as though you are running the game on some toaster. And I have a pretty decent video card and ram (about 1 gig).
No matter what I set the video or advanced configuration to, it is always the same. This ugly jerky frame skipping. Even if I set everything to the lowest possible settings the scrolling is still the same. Imo this is the main reason why some people will insist that nothing beats playing the snes games on the original console. Because the scrolling looks so aweful.
I played this game, Super Mario World on the MAME .134 emulator and the scrolling is just perfect with no jerkiness at all. This is one thing I noticed about MAME. The scrolling is always perfectly smooth. Why can't snes games run the same?
And it's not just Super Mario World. It's every fast-paced scrolling game on snes that has this jerky scrolling.
Another thing I have noticed is that sometimes after I change a video or audio setting on the Bsnes emulator, the game will run faster but will run perfectly smooth for a short period of time or until I press ESC to window the screen. Now why is that?
Yet another thing I have noticed before is that snes games run from a floppy disc tend to run smoother (smoother scrolling) than if they are run from a location on your C:/ drive. Why is that?
Please, can anybody help me tweak settings that would enable this smooth scrolling on the bsnes emulator or any other snes emulator for that matter? I would much appreciate it.
FatTrucker
October 8th, 2009, 13:02
Sounds like a sync issue with your display. Check your screen refresh and set it lower perhaps?. I have no tearing or scrolling issues with bsnes, snes9x or zsnes running on an LCD TV @ 60hz or a CRT PC monitor @ 75hz.
I have sync audio and video enabled in bsnes, maybe that makes the difference?.
NorseChief
October 8th, 2009, 13:57
Sounds like a sync issue with your display. Check your screen refresh and set it lower perhaps?. I have no tearing or scrolling issues with bsnes, snes9x or zsnes running on an LCD TV @ 60hz or a CRT PC monitor @ 75hz.
I have sync audio and video enabled in bsnes, maybe that makes the difference?.
It runs perfectly smoothly if I disable auto frame skipping on Zsnes. However it runs a little too fast.
Apparently, the lowest refresh rate I can set my monitor to is 60hz. Do you know any other way I can set my monitor to a lower refresh rate?
FatTrucker
October 8th, 2009, 17:53
It should be fine @ 60hz. If its still skipping or tearing then it has to be an issue with one of your other video options. What settings are you using?. If its skipping frames then that could easily cause jerkiness or tearing (since its not displaying every frame). There should be another option to throttle the speed, do you have vsync turned on?.
NorseChief
October 9th, 2009, 10:11
It should be fine @ 60hz. If its still skipping or tearing then it has to be an issue with one of your other video options. What settings are you using?. If its skipping frames then that could easily cause jerkiness or tearing (since its not displaying every frame). There should be another option to throttle the speed, do you have vsync turned on?.
Sorry for the delayed response. I was away from the computer for a while.
Yes, I do have both Vsync and tripple buffering turned on. If I turn them off then the game runs like 4 times faster than normal speed ( that is without auto frame rate enabled).
My problem is that the game runs too fast, like twice the normal speed at the lowest frame rate possible, without 'auto frame rate' enabled (and I made a mistake earlier as you can see... it's not 'auto frame skipping', it's 'auto frame rate'). The scrolling is only smooth when 'auto frame rate' is not enabled. Otherwise it is all jerky.
The other part of the problem is that the only way I can run the game at normal speed is with 'auto frame rate' (one of the speed options) enabled. And with this option enabled, the scrolling is jerky and blinky.
With my refresh rate on my monitor set to 60hz, the game runs a little slower but still like twice the normal speed without 'auto frame rate' enabled. If I set my refresh rate higher, say to 85hz then the game runs like 6 time faster than normal speed without 'auto frame rate' enabled.
I have fiddled around with all the video settings (on the zsnes or bsnes emulators) and thoroughly tested them all and none of them seem to make a difference to the speed.
I have a pretty fast pc and I think that is part of the problem since it seems that snes emulators were designed for slower and older pc's. If only there was an option that enabled me to set the frame rate lower without 'auto frame rate' enabled. Then I could run the game at normal speed and with no jerky scrolling.
FatTrucker
October 9th, 2009, 15:00
Check your PM, I've responded to that. I think its your graphics card. For some reason a lot of people seem to have had issues with the upper end 8xxx series cards with emulation.
I'm running a 3.0Ghz Dual Core, 4 Gb Ram and an 8500GT and it runs fine.
Jale
October 9th, 2009, 15:24
Try enabling Vsync and triple buffering.
FatTrucker
October 9th, 2009, 15:29
Try enabling Vsync and triple buffering.
Yes, I do have both Vsync and tripple buffering turned on.
:)
Jale
October 9th, 2009, 15:36
Oops... well... is it a PAL game?
NorseChief
October 9th, 2009, 15:47
Oops... well... is it a PAL game?
It's not just one game, it's all fast-paced scrolling games that have this problem when auto frame rate is enabled. Otherwise it runs too fast on the lowest frame rate that you can manually set it to.
FatTrucker
October 9th, 2009, 15:52
The reaons he mentioned PAl is that PAL games natively run at 50hz rather than 60hz. Shouldn't make any difference in terms of the problem you're having though as the emulators generally compensate for this automatically. It makes no difference with my PAL snes games even when run on a fixed refresh LCd @ 60hz. I'm 90% certain it relates to your hardware. Re-install DX9 and the latest drivers for your card.....just in case.
NorseChief
October 9th, 2009, 15:58
Check your PM, I've responded to that. I think its your graphics card. For some reason a lot of people seem to have had issues with the upper end 8xxx series cards with emulation.
I'm running a 3.0Ghz Dual Core, 4 Gb Ram and an 8500GT and it runs fine.
Hmmm. I don't think down grading is a viable option atm. I guess I am going to have to wait until the programmers working on these emulators decide to address this problem with the upper 8xxx cards :(
NorseChief
October 9th, 2009, 16:07
The reaons he mentioned PAl is that PAL games natively run at 50hz rather than 60hz. Shouldn't make any difference in terms of the problem you're having though as the emulators generally compensate for this automatically. It makes no difference with my PAL snes games even when run on a fixed refresh LCd @ 60hz. I'm 90% certain it relates to your hardware. Re-install DX9 and the latest drivers for your card.....just in case.
Thanks for all your help so far. Much appreciated.
I will try that and see what happens.
hungryduck
November 8th, 2009, 16:16
Hey guys. I have this EXACT problem. My graphics card is a 8800 GT so I think the issue must be due to this type of card. Did you find a fix of any kind or an emulator that allows scrolling in games to be smooth? SMW and RPGs like Chrono Trigger and Earthbound are so painful to play with the horrible, skippy scrolling. I've tried everything, changing refresh rate and messing with all the nvidia control panel settings.
I also have problems with PS1 emulation. It runs slow for me even though my system is definitely capable of running it at full speed. I bet this is due to the card as well.
I really hope there is a solution to this. Thanks.
FatTrucker
November 8th, 2009, 16:42
One thing that did occur to me to try is open up DX Diagnostics (click Start > Run > type dxdiag)
Once DXdiag has loaded, click more help from the toolbar, then overrides and set the override value @ 60hz.
Could be that the card is having trouble switching for some reason.
hungryduck
November 8th, 2009, 19:02
I am using Windows 7 and the directx utility no longer has this option apparently..
NorseChief
November 9th, 2009, 08:32
I have found the solution to this problem :)
I think this will help clarify things quite a bit. Very few people actually know these mundane details:
http://website.lineone.net/~simonisfound/refresh/refresh.html
I was getting confused because I thought these games were supposed to be able to run smoothly on any refresh rate and at any speed. I was wrong. I was also tunnel-visioned on the fact that GeForce 8800 GT cards have some problems with emulation. This is true to a certain extent. But I am sure now that this is not one of those problems.
The only way to run 2D games smoothly is by setting your screen refresh rate to 60hz, since they were designed to run on 60hz television screens. There is no getting around that. This is a universal rule for all graphics cards and all hardware attempting to emulate 2D games.
The same goes for DVD's. They run much better when your screen is set to 60 hz.
@ hungryduck
I have also just recently changed over from Windows xp to windows 7.
First thing you need to do is go to personalize options and change your theme to Windows 7 basic. There is no need to have it otherwise because it also causes other 3D games to lag as well as inaccurate emulation issues.
Unfortunately, windows 7 doesn't allow you to run your monitor at 60hz and a resolution of anything above 640 x 480. But that is no problem. All you need to do is go to screen resolution ~ advanced settings ~ adapter ~ list all modes ~ 640 by 480, true color (32 bit), 60 Hertz.
Then when you run snes, nes, etc you will find that the games will run perfectly smoothly as they were meant to be.
But remember that you don't have to keep your screen resolution set to this mode. You can simply switch to the other mode once you are done playing your snes roms. You can think of it as simply setting up your cyber console to the cyber TV :)
One more important thing!
You need to remember to make sure that your roms are all (U) or (J) and not (E). If you try to run (E) games on your 60 hz the result will be inaccurate choppy emulation. This is because PAL roms were designed for European televisions which run at 50 hz. Your PC monitor won't be able to run at this refresh rate. So if you have (E) roms you going to have to replace them with (U) or (J) roms which natively run at 60 hz to match your PC 60 hz refresh rate.
This is the other major thing that had me confused and thinking that this was a problem with my GeForce 8800 GT card. I am 100% sure now that that is not the case. Although there are other known problems that this card has with emulation, this is not one of them so you can rest at ease :)
FatTrucker
November 9th, 2009, 14:11
The application should tell the card what refresh to run at. Which is why I don't have the same issue running on a monitor set at 75Hz. It seems with certain drivers and chipsets this doesn't work as required which is why you're having to change your screen res manually.
Ordinarily though, your software should tell the PC what to run at rather than having to set up your PC around the software.
hungryduck
November 9th, 2009, 14:45
I switched it to 60 hertz a long time ago. Today I went into the menu on my monitor and it tells me it's running at 63.9 hertz! I think this must be why it's not working for me. My monitor doesn't want to run at 60 hertz for some reason.
Edit: Well, my monitor's menu says "H+64.0 V+60.0" but I'm not sure what this is supposed to mean. This might be normal for all I know.
FatTrucker
November 9th, 2009, 15:19
H is the horizontal scan rate. There's usually some fluctuation although its usually only + or - 1 at most, 64 is a weird rate for it to be scanning at.
If you can't adjust it using your monitor controls or the advanced graphics options, then making the scan rate override I mentioned above is the only option I can think of.
NorseChief
November 10th, 2009, 09:07
The application should tell the card what refresh to run at. Which is why I don't have the same issue running on a monitor set at 75Hz. It seems with certain drivers and chipsets this doesn't work as required which is why you're having to change your screen res manually.
Ordinarily though, your software should tell the PC what to run at rather than having to set up your PC around the software.
I see what you mean.
I am just happy that I managed to find a way around it then :)
Do you think they are going to try deal with this problem with the GeForce 8800 cards some time in the future? Or are they going to just leave it how it is forever more? It is a little bit annoying I must say =/
FatTrucker
November 10th, 2009, 10:44
Seems unlikely. Most commercial stuff talks to the drivers without any problems and I doubt they'll put any R&D into people running homebrew and emulators.
hungryduck
November 14th, 2009, 16:37
I have noticed that if I set my monitor to 60 hertz and move diagonally on Earthbound, the movement is smooth. Going up, down, left and right is still skippy. Really strange.
NorseChief
November 15th, 2009, 12:10
I have noticed that if I set my monitor to 60 hertz and move diagonally on Earthbound, the movement is smooth. Going up, down, left and right is still skippy. Really strange.
It is skippy for me going diagonal for some reason as well :/
hungryduck
November 26th, 2009, 20:04
Actually I think i got it! All games work well for me now with perfect scrolling except for Earthbound. Thanks for all your help!
Powered by vBulletin® Version 4.2.4 Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.