12 January 2020

Update MAME 0.217 - Low Latency (WIP) and 60.000 views :-)

Update 15 Jan 2020: Performance tests with nine of my reference games indicate no performance losses when activating Low Latency

In the terminal, cd into the mame folder and run:


./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom -bgfx_backend metal -noreadconfig -nosleep -nothrottle -lowlatency [game]

./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom -bgfx_backend metal -noreadconfig -nosleep -nothrottle -lowlatency [game]

The test results are either identical or even in favor of low latency. MAME 0.217 is also a hot performer, so the BGFX shaders now really perform flawlessly. I could not be happier with current MAME performance-wise.

Update: With MAME 0.217, you can configure Low Latency within MAMEUI! I explained here how to properly access MAMEUI.




Thanks to a visitor of this blog (hi, Borsuk 😊), I became aware of a new MAME option that introduces a mode with lower input latency. 

As so often with MAME, info is rather scarce, both the Github commit and the MAME documentation explain the minimum:
https://github.com/mamedev/mame/commit/eab5bcac0029e4e298e1f194133c21580098508d
https://docs.mamedev.org/commandline/commandline-all.html (search for "lowlatency")

Things to consider:
  • In running systems, you need to add the option to your existing mame.ini (and of course also in any game-specific inis).
  • Currently the default is 'off' because of the potential side effects in some systems.
  • First check whether your mame version is capable. Then you can look into your current configuration. In the terminal, within the mame directory, execute: 
    • ./mame64 -showusage - under the header "CORE PERFOMRMANCE OPTIONS" you should find the following entry: 
      -lowlatency          draws new frame before throttling to reduce input latency
    • then ./mame64 -showconfig - under the header "CORE PERFORMANCE OPTIONS" you should find: 
      lowlatency                1
    • 1 for on or 0 for off. If not, you have to add it in your mame.ini
So is it worth the hassle? I am undecided right now. Further testing is needed.

And this blog reached 60.000 views since I started back in 2016. Thank you for all of you that are still into reading old-fashioned Blog entries. While I see the advantages of YouTube instructions in some cases, I still prefer sharing know-how as text - particularly because I try to update my posts if it makes sense and put them to a later date in this blog.

2 comments:

  1. Hi Estefan,

    Thanks for the info, could you explain the benefits of use this option?

    When I enable I didn't see any difference.

    Thank you again for all the info e tutorials.

    ReplyDelete
    Replies
    1. Hi, for many hardcore gamers, latency is of highest concern. Read e.g. https://www.retroarch.com/?page=latency - it is the number of frames that occur between an imput command (e.g. fire on your joypad) and the implementation on screen. With this option, the MAME developers claim that latency has been reduced by 1 frame, which for many arcade game would be nearly zero latency. Hope that helps!

      Delete

Any comments are welcome!