It is currently Sat Mar 25, 2017 12:43 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 24 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Wed Jan 04, 2017 4:18 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 352
Final Fantasy (1, US, NES) lags in most emulators on the world map. It doesn't lag in the inaccurate nesticle, but it's so annoying that's the only emulator I can play it in.

Did it also lag on hw? I can't find anything about this on google.


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 5:29 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:59 pm
Posts: 1348
If it lags in most newer emulators, it's almost guaranteed that it also lags on the real hardware.

_________________
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 5:31 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 352
True, but I'd like to know from someone who has it (/flashcart).


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 5:49 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 4901
Location: Canada
What exactly do you mean by "lag" on the world map? Can you describe a way to reproduce the problem, and what you expect to see instead?

(I can run it on a flash cart, but I don't understand what I'm looking for in this case.)


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 8:15 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 352
Walk on the world map, it's occasionally not smooth. It happens more often when moving vertically than horizontally.

It's as if it randomly takes two frames instead of one.


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 8:23 am 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1163
That sounds like a timing issue with an emulator synchronizing flipped frames with the monitor's vblank interval.


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 8:39 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 352
Yeah, but I have vsync enabled in all emulators. Surely they don't all fail?

All emulators except nesticle failed years back, now that I tried them mednafen was smooth in addition to nesticle. So it could be vsync afterall, except nesticle cannot be vsynced, since it's a DOS app running in dosbox, and my dosbox build does not have GL support. Curious.

edit: also, other four-way scrolling ROMs do not have the same issue.


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 12:01 pm 
Offline
User avatar

Joined: Sat Sep 07, 2013 2:59 pm
Posts: 1102
To find out whether it's vsync or an actual lag inside the game, do the following:

Use fceux and go to "File", "Movie", "Record Movie".
Play the game until you encounter the lag.
Now replay the movie file. When you get to the lag, pause the emulator and advance the game frame by frame.

If you actually encounter that the game isn't moving in a specific frame, then you have a real lag in the game. In this case, you can post the input file here, so that people analyze it.
If the frame by frame advance doesn't show a lag, then it's something about the system, i.e. vsync etc.

_________________
Available now: My game "City Trouble".
Website: https://megacatstudios.com/products/city-trouble
Trailer: https://youtu.be/IYXpP59qSxA
Gameplay: https://youtu.be/Eee0yurkIW4
German Retro Gamer article: http://i67.tinypic.com/345o108.jpg


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 12:30 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
calima wrote:
Final Fantasy (1, US, NES) lags in most emulators on the world map. It doesn't lag in the inaccurate nesticle, but it's so annoying that's the only emulator I can play it in.

Did it also lag on hw? I can't find anything about this on google.

I'll let you know in a few days.


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 3:01 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1415
Location: DIGDUG
I see no lag on hardware. It scrolls smoothly in all directions.

I suspect that your computer has too much crap running in the background, and nesticle is the least resource demanding emulator, so that's why it's different.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 3:32 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 167
For what it's worth, I did a quick test on Mesen and only see anything that could be called "lag" when vsync is off.
Not to say Mesen's vsync implementation is perfect, I'd imagine it doesn't work as expected on some computers (which may very well be your case)


Top
 Profile  
 
PostPosted: Wed Jan 04, 2017 3:33 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
Accurate and smooth A/V synchronisation in anything on Windows is a shit show. You can ask any of the emulator authors here. The amount of variance in behaviour is absolutely mindboggling, because it's all based on a tremendous number of factors. For example, I see occasional "glitches" in many emulators (the behaviour varies slightly), including MAME, since the introduction of a sound card I use (Asus Xonar DG) that has crappy drivers -- and I use that card because my on-board Realtek audio (a company I want to see burn in hell) has tons and tons of interference/bus noise that the rear-panel microphone port picks up -- but actual audio playback is good (those glitches don't happen). This is further compounded by use of Windows 7 (I had several emulators that worked beautifully smooth on Windows XP, ex. Nestopia, but then began occasionally having problems once I moved to 7). I've said enough, because I could go on and on for days about this subject, all the way down to talking about event timers and SpeedStep/clock frequency throttling.

Back in the "DOS days", none of this was a problem because the OS (for lack of better term) "sat closer" to the hardware and nothing else was running simultaneously. For example, accurate/flawless Vsync was possible back then -- the CPU only ran what you had actively launched. For Vsync, you could literally do this without any worry of "other stuff" going on:

Code:
mov dx, 03dah
Loop1:
  in al, dx
  and al, 08h
  jnz Loop1
Loop2:
  in al, dx
  and al, 08h
  jz Loop2

...and at the end of that, you'd be in VBlank reliably every time. No tearing, no nonsense.

With the introduction of multitasking OSes (not task-switching, but multitasking) like Windows NT and later, and graphical layers like DirectX, and later GPU drivers and so on, everything became abstracted. You now have layers upon layers upon layers of things that all "connect", taking away from the ability for a program to truly do something as simple as, say, wait for Vsync with the same degree of accuracy as back in the early 90s -- you no longer have ANY idea of how much time _really_ is left for use in VBlank by your program. Now introduce hilarious kludges (I consider them a kludge) like nVidia G-SYNC and AMD FreeSync, requiring special "gamer monitors", and have their own complexities/nuances (think about windowed mode applications and how that's going to work). On the audio layer, you now got USB audio bits (USB DACs), sound cards still, and let's not forget weird things like HDMI audio (and HDCP on top of that, whee!) -- keeping everything "synchronised" is a total nightmare. At least on the graphical end of things, are you ready for the irony? Here it comes:

With the introduction of Vulkan, it seems that we're circling back to the 90s. Someone at the Khronos Group had had enough of this bullshit, it seems. Vulkan is an incredibly tiny API (last I looked, around 1.6MBytes) where, from what a colleague of mine who does 3D engines for commercial games told me, basically just says "here's a piece of raw memory that correlates with the framebuffer on the GPU. Do whatever you want with it. If you screw it up and crash the machine, it's your fault. Talk to the hardware directly (or very close to it)".

Hopefully I'll be dead by the time humans come full circle and realise the importance of KISS principle.


Top
 Profile  
 
PostPosted: Thu Jan 05, 2017 5:50 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 352
Thanks dougeff, it's the emulators then. FWIW I'm on Linux, on a Phenom II x6, with very little other things running (browser, music).

Koitsu, I agree on Vulkan. It's a tremendous increase in complexity only for a small cpu use decrease. Not worth it for me, even if I had any hw able to run it.


Top
 Profile  
 
PostPosted: Thu Jan 05, 2017 7:48 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
calima wrote:
Koitsu, I agree on Vulkan. It's a tremendous increase in complexity only for a small cpu use decrease. Not worth it for me, even if I had any hw able to run it.

Sorry, I'm not following? I think I misunderstand your comment. Mine was in support of Vulkan; I'm saying it's an example of how people are tired of all the layers and abstraction in Windows getting in the way (see previous post for examples), and brings things back closer to how they were in the 90s. It's a positive, if you ask me.


Top
 Profile  
 
PostPosted: Thu Jan 05, 2017 8:38 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 352
Indeed, I misread.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 24 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group