I'm sorry if I missed something, but is there any resources that describe how TASVideos calculate a time from the number of frames? In other words, is there any resources that describe the FPSes of each emulator?
For example:
klmz's SMB1 run in 04:57.33 (fm2) - 17869 frames
klmz's SMB1 run in 04:58.18 (fcm) - 17891 frames
The former is recorded on FCEUX and it seems to be timed as 60.099 FPS. On the other hand, the latter is recorded on FCEU and it seems to be timed as just 60 FPS. This confused me a little at first. So, I want to know the FPSes of each emulator, if possible.
On a real NES, the framerate is 60.099 FPS, assuming the screen is turned on during the pre-render scanline. Otherwise, it's 0.00112% faster if the screen is off.
What really matters is the frame count. It's just that FCEUX calls a frame 1/60.099th of a second, and FCEU calls a frame 1/60th of a second. FCEU just uses bad numbers for establishing length of a movie.
Emulator Coder, Site Developer, Site Owner, Expert player
(3572)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
The site reports .fm2 as ~60.1 but not FCEU.
Why is it this way? Because bisqwit decided it so.
I think I would happier with it being calculated based on 60fps and not worring about the .1 BS.
Otherwise we have to deal with other issues, like SNES should be ~60.1 too. But snes9x runs at 60fps. FBA is ~59.9 but reported 60, etc.
60 fps is a good solid time keeper and allows it to be consistent among all emulators. I think frames is the more important goal anyways.
Also the replay dialog of win32 FCEUX shows it based on 60fps (as does FCEU). It is arbituary though, meaning it isn't based on how the emulator runs. It is just a formula put in, much the same way the site does it.
He left the screen on, though. Hmm, what would the speed be like if you connected the audio output but not the video?
My other thought about timing is that the hours:minutes:seconds format is easier for most people to remember than an enormous six-digit number, so it would be nice to have a consistent frames-per-second conversion everywhere. "I think this one's faster--oops, I forgot to check the thousands digits!"
put yourself in my rocketpack if that poochie is one outrageous dude
Well, emulator homepages and movie format docs do provide useful information, but some of them don't mention to the framerate (for example, FCM format).
Indeed, the frame count is the only matter for us. And, if we consider that the time is just for the comparison, it maybe acceptable to time all movies as 60FPS, as adelikat said. But, using the FPS different from the real console may cause some misunderstanding between people, for example, when they compare a TAS and a run on the real console. For FCM and FM2, I agree to unify their FPSes, but I prefer 60.099 FPS.
Anyway, for now we are using various FPSes for each emulator, so I think it will be helpful if we could have the list of FPS of each emulator. It is a little bothersome to examine the FPS of the emulator whenever I have to write a time with my testrun. (I will make such a list by myself as possible, but I don't know about every emulator.)
Well, to be fair, letting each emulator run at the same speed as the actual console is not only a step towards better emulation, but also towards more authentic watching experience. We shouldn't be worried about minute difference in framerates between emulators of different systems, anyway.
The only disadvantage I see with true framerates is that it makes it harder for the SDA to spot emulator movies in case they get submitted.
For PCE, I remember a wiki page of mednafen-rr said that mednafen-rr runs at (7159090.90909090/455/263*65536*256/2^24) ~ 59.826 FPS. But now the information seems to be deleted from the page for some reason.
The FPSes of the real consoles are thanks to Dwedit, adelikat, gocha, and P.JBoy.
Emulator Coder, Site Developer, Site Owner, Expert player
(3572)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
I changed desmume to 59.82 (specifically to the formula gocha provided).
I'll change others too, but I need a list of what they should be, preferrably with precise formulas on how to derive them.
Also, should the time reflect the fps of the emulator? Or the fps of the real console?
Probably not, but it would be helpful to have a FAQ page covering that kind of information.
[EDIT]
I misunderstood the question. The time should represent the framerate of the emulator (since it tells how long the movie is), which in its turn should represent the actual framerate of the console.
The listed time should be derived from the emu framerate, because that's how long the movie actually takes to play. If the emu framerate is inaccurate, it's up to the emu developers to fix that. Shortcuts like 50 fps and 60 fps are fine for casual conversions, but tasvideoagent does not mind the extra computation.
Also, would it be too much trouble to make TVA report the number of frames, in addition to the seconds conversion?
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
personally, I say use the console framerate, for two reasons: firstly, there may be an unfair advantage for using certain emulators over other emulators. for example FCEU calculates frames at 60 FPS and FCEUX calculates frames at approximately 60.099 fps. If we were to use console timing, there would be common ground, and no time difference.
Secondly, the rate at which the emulator runs at is actually irrelevant, for example: we use slowdown ad fastforwards anyway. If we were actually supposed to consider the speed that the emulator runs at, then you could fast forward and say it was completed faster. In other words, the timing of an emulator is arbitrary, and does not truly mean anything.