Jump to content



Photo

Bad scrolling in Visual PinMAME - V-Sync?


  • Please log in to reply
15 replies to this topic

#1 Kernel

Kernel

    Enthusiast

  • Members
  • PipPipPip
  • 134 posts

  • Flag: ---------

  • Favorite Pinball: Stones 'n Bones

Posted 15 September 2016 - 10:51 AM

I've noticed that VPinMAME is not smooth with image/words/objects scrolling on the dmd. There's always choppiness/stuttering compared to a real dmd.

I've put synclevel to 1, but I can't see differences.

I also used ddraw=1 to have a sharper image but the choppiness remained the same.

 

Any suggestion?

Thanks in advance

 

PS: Which is the refresh rate of a DMD?

 



#2 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 15 September 2016 - 01:22 PM

on which games do you see this for example? some machines/generations are not as well understood and emulated as others, so on some there are still some unresolved issues when it comes to timing and precision of the DMD/animations.

 

also synclevel and ddraw should not matter here, if at all then it could be waitvsync that you can enable.

 

EDIT: also, do you mean an actual, real pinball machine or a DMD built into a virtual pinball machine that you compared this against?


Edited by toxie, 15 September 2016 - 01:24 PM.


#3 Kernel

Kernel

    Enthusiast

  • Members
  • PipPipPip
  • 134 posts

  • Flag: ---------

  • Favorite Pinball: Stones 'n Bones

Posted 15 September 2016 - 01:33 PM

Hi Toxie. I've compared it to my real Williams "high speed II" (getaway) and to a real Data East Lethal weapon 3 of a friend of mine.

 

How can I enable waitvsync in vpinmame?

 

Thanks!

 

EDIT: On my 15KHz mamecab I usually set custom resolutions with the same refresh rate as the game emulated, so with vsync on I have perfect scrolling (otherwise I get tearing and stutter). In this case the problem seems the same, but I don't know which is the refresh rate of the emulated DMDs and how to properly turn vsync on.


Edited by Kernel, 15 September 2016 - 01:39 PM.


#4 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 15 September 2016 - 02:09 PM

in the registry, same as the ddraw setting, you can turn waitvsync on (1).

 

as for the refresh rate: unfortunately DMDs (and also segment displays) are far less standardized compared to arcade monitors. Basically what happens is that each game/machine generation just flips the dots on/off "as it likes" to get the different brightness levels (and this ranges from fairly controlled setups like the Bally/Williams machines with their 4 brightness levels up to 100s for some Gottliebs when these are fading images). Then in addition to that, the games update their animations in whatever sync that "looked good" on the real hardware, e.g. what the human eye could not see as flickering or juttering on the specific display used.

So overall pinmame mostly just samples the brightness of the dots (at least from my understanding of some of the code i looked at), which then can result in aliasing along the timeline (->jutter :/).



#5 Kernel

Kernel

    Enthusiast

  • Members
  • PipPipPip
  • 134 posts

  • Flag: ---------

  • Favorite Pinball: Stones 'n Bones

Posted 15 September 2016 - 03:10 PM

Same issues with a PinDMD?



#6 The Loafer

The Loafer

    Pinball Wizard

  • VIP
  • 3,471 posts
  • Location:Embrun, Ontario, Canada

  • Flag: ---------

  • Favorite Pinball: Superman, Firepower & Tron



Posted 15 September 2016 - 04:35 PM

Kernel: what are your PC specs?

#7 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 15 September 2016 - 04:37 PM

That would be the interesting part to know (thats why i asked about that part in my first answer). Unfortunately i don't own one.

 

Do you have a specific animation in mind that looks especially bad, so that pindmd users could test that?



#8 Kernel

Kernel

    Enthusiast

  • Members
  • PipPipPip
  • 134 posts

  • Flag: ---------

  • Favorite Pinball: Stones 'n Bones

Posted 16 September 2016 - 10:18 AM

@The Loafer: tried on many cfgs with same results.

This is the more powerful:

i7 4790k @ 4.4GHz

SLI of 2x GTX770

16GB RAM

 

@toxie: yes, burn rubber on getaway high speed II, there's a map scrolling, here at 0.55:



#9 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 16 September 2016 - 11:43 AM

oh, that makes me miss my getaway..  :(

was the first pinball machine i owned..  :)

 

 

@PINDMD users: could you guys please check if you get a smoothly animated map scrolling in getaway??



#10 Kernel

Kernel

    Enthusiast

  • Members
  • PipPipPip
  • 134 posts

  • Flag: ---------

  • Favorite Pinball: Stones 'n Bones

Posted 16 September 2016 - 11:52 AM

Getaway, first and last for me, but still my favourite :)



#11 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 21 September 2016 - 06:54 AM

*ping* for the PinDMD testers..  :)  (see two posts above)



#12 Jodannar

Jodannar

    Enthusiast

  • Members
  • PipPipPip
  • 155 posts

  • Flag: Australia

  • Favorite Pinball: Attack from Mars

Posted 21 September 2016 - 08:11 AM

Getaway definitely does it on my <open source board> driven panels. It's not very noticeable until you notice it, then it's apparent


Sent from my iPhone using Tapatalk

Edited by Jodannar, 21 September 2016 - 08:11 AM.


#13 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 21 September 2016 - 09:55 AM

Okay, thanks! Then its an internal PinMAME sampling problem i fear, and not related to the actual output itself.



#14 Kernel

Kernel

    Enthusiast

  • Members
  • PipPipPip
  • 134 posts

  • Flag: ---------

  • Favorite Pinball: Stones 'n Bones

Posted 21 September 2016 - 01:36 PM

I've spent about an hour trying every pinmame setting in registry. I've also tryied changing monitor refresh rates, but the problem remained more or less the same.

Thank you very much in any case for your support!



#15 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 21 September 2016 - 06:51 PM

As said, this is most likely an emulation problem then. The brightness levels of the dots are sampled during the emulation. And if this sampling does not match the animation updates, then one gets aliasing (in time), as can be seen in some animations.  :(

 

Maybe at some point one could revisit this and increase the sampling rate (which costs some performance, but should not matter much nowadays). I put it onto my todo list.



#16 Kernel

Kernel

    Enthusiast

  • Members
  • PipPipPip
  • 134 posts

  • Flag: ---------

  • Favorite Pinball: Stones 'n Bones

Posted 22 September 2016 - 07:10 AM

Gr8! :dblthumb: