English Amiga Board


Go Back   English Amiga Board > Support > support.FS-UAE

 
 
Thread Tools
Old 12 September 2017, 13:53   #1
Dr.Venom
Registered User
 
Join Date: Jul 2008
Location: Netherlands
Posts: 385
A method for further improving latency (input lag) in FS-UAE

Hi Frode,

With interest I read your page on latency (https://fs-uae.net/latency), great write up. Personally I think input latency for FS-UAE with the proper settings is really good already. Nonetheless I hope you will consider implementing a "Frame Delay" feature, explained in more detail below, by which input latency can be further reduced by almost up to a frame (on fast hardware at least).

In short "Frame Delay" adds a configurable fixed amount of delay before frame emulation is started, thereby moving frame emulation closer to host PC vsync. This enlarges the window in which host PC input can be read.

I've mocked up a picture based on your "CTRL+F10" overlay stats, to illustrate the concept further, see below (also attached since most online picture storage gets lost over time).

This feature has been implemented in some other emulators too. GroovyMAME users have gone to length to measure it with leds wired to joystick and high-speed camera footage that the input latency improvement is real. It also found its way to Retroarch, which has a "Frame Delay" value setting under the video tab, where user Brunnis based on similar tests came to the same conclusion for the Retroarch implementation. WinUAE has this implemented as an "unsupported" commandline option, called "extraframewait". Unfortunately there it doesn't work together with the Wasapi low latency audio mode. Toni once mentioned it needs a redesign to work properly.

As further info, GroovyMAME has this implemented as a frame_delay variable that goes from "0" (off) to "10", which are units of 1/10th of total frametime. The other emulators have it implemented as a variable that can set the delay in milliseconds.

Possibly the 1/10th unit size is the most robust as it will cater for both pal and ntsc scenario's. (In Retroarch the value is limited to 15ms, which makes it suboptimal for PAL emulation.)

Hopefully you will consider implementing the "Frame Delay" feature for FS-UAE.

If you have any questions or thoughts please share! Cheers


Attached Thumbnails
Click image for larger version

Name:	fs-uae_framedelay.png
Views:	23
Size:	13.8 KB
ID:	54563  
Dr.Venom is offline  
Old 12 September 2017, 14:05   #2
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 46
Posts: 11,145
You should really update to Freesync/G-Sync hardware. It works fine with most of the emulators i've tested so far. No more Vsync issues, no judder no tearing and the latency is on an enjoyable level.
Retro-Nerd is offline  
Old 12 September 2017, 15:15   #3
Dr.Venom
Registered User
 
Join Date: Jul 2008
Location: Netherlands
Posts: 385
Quote:
Originally Posted by Retro-Nerd View Post
You should really update to Freesync/G-Sync hardware. It works fine with most of the emulators i've tested so far. No more Vsync issues, no judder no tearing and the latency is on an enjoyable level.
It's a nice technology, especially with the various shaders becoming better and better.

But to be honest for longer playing sessions I still love my CRT setup the most. It works perfect with the emulators I use. It has no v-sync issues, no judder, no tearing, latency on an enjoyable level, no ghosting, no blur or blockiness, real scanlines, real bloom, real dot mask, real phospor decay, real curvature, high contrast and perfect viewing angle... In other words it's a nice system to keep besides a high-end FLAT panel
Dr.Venom is offline  
Old 12 September 2017, 16:07   #4
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,959
WinUAE already has an extraframewait config file option. It looks like there are remnants of that in the FS-UAE code, e.g.:

// FIXME: What is this?
int extraframewait = 0;

Last edited by mark_k; 12 September 2017 at 16:29.
mark_k is offline  
Old 12 September 2017, 16:49   #5
Dr.Venom
Registered User
 
Join Date: Jul 2008
Location: Netherlands
Posts: 385
Quote:
Originally Posted by mark_k View Post
WinUAE already has an extraframewait config file option. It looks like there are remnants of that in the FS-UAE code, e.g.:

// FIXME: What is this?
int extraframewait = 0;
Ah, that's interesting, seems Frode has taken a look at it already at some point then. The "What is this?" should be explained with this thread then .

Hopefully it can be extended to a fully working Frame Delay feature for FS-UAE.
Dr.Venom is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Optimizing DirectX apps for low latency input and longer battery life Dr.Venom support.WinUAE 2 24 April 2017 09:40
Nvidia Shield - input lag steviebwoy Amiga scene 4 12 April 2017 23:32
[FS-UAE] Heavy input lag with VSync RealNC support.FS-UAE 2 07 July 2012 05:53
Joystick input lag Torkio support.WinUAE 3 06 March 2007 00:56

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 21:03.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.96499 seconds with 17 queries