Jump to content



Photo
- - - - -

VP DEVS PLEASE LOOK, Performance of VP


  • Please log in to reply
30 replies to this topic

#21 lettuce

lettuce

    Pinball Fan

  • Silver Supporter
  • 929 posts

  • Flag: England

  • Favorite Pinball: Monster Bash

Posted 27 February 2011 - 11:08 AM

I think it's just down to vp being such an old program, were talking 10+ years here. I notice stutter probably about once or twice in my cab setup and it's always the first time the flashers on both the table and UVP go off, but don't tend to get it when not running UVP so it's obviously these 2 programs not work efficiently enough together. I believe standard backglass display is going To be implemented into vp at some point much like future pinball so hopefully thus will help!?, also don't forget vp is still running on dx7!!!, hopefully this can be upgraded to use Dx9 or 10 in the future so vp can make better use of our newer GFX cards

As I'm using xp so I have started to use an affinity program to dedicate single cores to UVP and vp which has help somewhat, but I had to disable hyper threading. The biggest culprit for me ATM is doctor who by oooplayer1ooo which still stutters when flashers go off sad.gif.

Hopefully the good people on the dev team could look into performance for the next release

Edited by lettuce, 27 February 2011 - 11:11 AM.


#22 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 27 February 2011 - 11:19 AM

QUOTE (J3SteR @ Feb 27 2011, 02:29 AM) <{POST_SNAPBACK}>
Ok guess i do have non vpinmame tables wasn't thinking... Just used rawd's Triple Strike table. Oddly enough my cpu was taxed more with this table and i never get stuttering of any sort on this table. My main video card switched to 2d clock speeds.


hmmm.. looks to me that this is because of the simplicity of the table itself..
what did you use to measure the first numbers with (i.e. the vpinmame table)?

QUOTE (J3SteR @ Feb 27 2011, 02:50 AM) <{POST_SNAPBACK}>
Ok so i went to file and then new and ran the plain table. To my surprise my cpu usage jumped way up and my gpu load jumped to the 20 to 30 percent range in 2d clock speeds though.


this matches my theory.. if the table is reasonably simple, the interaction of CPU and GPU is low, i.e. very few synching/blocking issues, thus higher utilization/framerate..

#23 settingsons

settingsons

    Pinball Fan

  • VIP
  • 959 posts
  • Location:Switzerland

  • Flag: Switzerland

  • Favorite Pinball: Terminator 2 and many EM machines



Posted 27 February 2011 - 12:46 PM

QUOTE (rosve @ Feb 27 2011, 11:56 AM) <{POST_SNAPBACK}>
QUOTE (settingsons @ Feb 27 2011, 11:29 AM) <{POST_SNAPBACK}>
Just to throw more 'strange happenings' into the pot. While running rosve's EM backglass table 'Strange World' I had all O/S processes on a single core, VP on it's own core, and rosve backglass exe on it's own core and I get stutter. If I set the VP exe and rosve's backglass exe to the SAME CORE and I get NO stuttering. Now we know these two programs talk to each other so it is almost as if there is a communications bottleneck OR maintenance overhead when they run on their own cores.

I just tested out some of my VPinmame tables with UVP by assigning UVPserver and VP to the SAME core, and guess what - I get the same FPS as them having separate cores.


I want to clearify one thing. VP an my backglass program doesn't actually talk to each other (ocx)
The communication is done by setting and reading screen pixel values. The backglass and VP has absolutely no connections in the software.

/rosve

ok thanks for clarifying rosve. Now I am even more confused! smile.gif

#24 J3SteR

J3SteR

    Enthusiast

  • Members
  • PipPipPip
  • 494 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: FunHouse,Tales From The Crypt, T2, Circus Voltair, Adams Family,MM

Posted 27 February 2011 - 12:54 PM

Toxie I used uncle Willy's. High res of monster bash during multi ball. Which is when I get some ball choppyness

#25 rascal

rascal

    two-faced as they come

  • VIP
  • 1,374 posts
  • Location:Indiana USA

  • Flag: United States of America

  • Favorite Pinball: Bally Eight Ball



Posted 27 February 2011 - 01:04 PM

QUOTE (J3SteR @ Feb 26 2011, 07:50 PM) <{POST_SNAPBACK}>
One other thing i need to bring up is odd too. If I dont have the Hyperpin hglass.exe running when i launch a table my performance drops. thats why when i run my tables in hyperpin they run betterthan they do if i just run them outside of hyperpin. It makes no sense, what is hglass doing to make vp run smooth. It did this for me on other setups too. With XP or windows 7 which im currently running now.

Just a guess here, but could it be that hyperpin is launching the play only option and without hyperpin you are launching the tables with the VP editor also loaded into memory. Are you opening the editor to launch the tables without hyperpin?

Posted Image


#26 J3SteR

J3SteR

    Enthusiast

  • Members
  • PipPipPip
  • 494 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: FunHouse,Tales From The Crypt, T2, Circus Voltair, Adams Family,MM

Posted 27 February 2011 - 01:28 PM

QUOTE (rascal @ Feb 27 2011, 08:04 AM) <{POST_SNAPBACK}>
QUOTE (J3SteR @ Feb 26 2011, 07:50 PM) <{POST_SNAPBACK}>
One other thing i need to bring up is odd too. If I dont have the Hyperpin hglass.exe running when i launch a table my performance drops. thats why when i run my tables in hyperpin they run betterthan they do if i just run them outside of hyperpin. It makes no sense, what is hglass doing to make vp run smooth. It did this for me on other setups too. With XP or windows 7 which im currently running now.

Just a guess here, but could it be that hyperpin is launching the play only option and without hyperpin you are launching the tables with the VP editor also loaded into memory. Are you opening the editor to launch the tables without hyperpin?




Yes in fact I am. Is there another way to launch them? But then if I have hglass.exe running and I launch a table from the editor it runs good so the editor is already loaded too.

#27 rascal

rascal

    two-faced as they come

  • VIP
  • 1,374 posts
  • Location:Indiana USA

  • Flag: United States of America

  • Favorite Pinball: Bally Eight Ball



Posted 27 February 2011 - 02:28 PM

QUOTE (J3SteR @ Feb 27 2011, 07:28 AM) <{POST_SNAPBACK}>
Yes in fact I am. Is there another way to launch them? But then if I have hglass.exe running and I launch a table from the editor it runs good so the editor is already loaded too.


Hmmm, ok, well it was just a guess anyway. Now I don't have a clue. dry.gif

Posted Image


#28 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 27 February 2011 - 03:33 PM

QUOTE (J3SteR @ Feb 27 2011, 01:54 PM) <{POST_SNAPBACK}>
Toxie I used uncle Willy's. High res of monster bash during multi ball. Which is when I get some ball choppyness


okay, this also makes sense.. this table uses a lot of walls to simulate the lighting from the flashers..
if the flashers are triggered a lot of direct reading/writing to the framebuffers happens (due to the 2D nature of VP), i.e. 'evil' communication between GPU and CPU -> locks..
this could only be improved by doing it 'the right way' (=cupids new project), i guess..

#29 settingsons

settingsons

    Pinball Fan

  • VIP
  • 959 posts
  • Location:Switzerland

  • Flag: Switzerland

  • Favorite Pinball: Terminator 2 and many EM machines



Posted 27 February 2011 - 03:47 PM

QUOTE (toxie @ Feb 27 2011, 04:33 PM) <{POST_SNAPBACK}>
QUOTE (J3SteR @ Feb 27 2011, 01:54 PM) <{POST_SNAPBACK}>
Toxie I used uncle Willy's. High res of monster bash during multi ball. Which is when I get some ball choppyness


okay, this also makes sense.. this table uses a lot of walls to simulate the lighting from the flashers..
if the flashers are triggered a lot of direct reading/writing to the framebuffers happens (due to the 2D nature of VP), i.e. 'evil' communication between GPU and CPU -> locks..
this could only be improved by doing it 'the right way' (=cupids new project), i guess..


That is interesting Toxie. Just out of interest do you know of any tools to monitor/show these bottlenecks (ie: something showing a request queue/stack, etc.)?

#30 J3SteR

J3SteR

    Enthusiast

  • Members
  • PipPipPip
  • 494 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: FunHouse,Tales From The Crypt, T2, Circus Voltair, Adams Family,MM

Posted 27 February 2011 - 04:28 PM

Well can't wait for Cupid's next project. Though I know it will be awhile but should be well worth the wait. Thanks for making this all less confusing toxie. Guess we just have to wait for now.

#31 sleepy

sleepy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 705 posts

  • Flag: United States of America

  • Favorite Pinball: Tiny Tim and The Ghost of Christmas Present

Posted 27 February 2011 - 07:02 PM

Does Hglass. exe include a frameskip control?
I'm not familiar with Hyperpin yet, so I don't know the program too well, but saw on the Net that the program has frameskip keys as CTRL+ F7 and CTRL+F8.
Does it maybe use "Draw only frame differences to the screen" as a system switch?
Does Visual Pinball draw full frame 100% or does it draw differences only?

You could try the benchmark tests without running hglass.exe by starting a table and in game clicking on the VPinMame DMD to shift focus to it(in tables that have the default DMD), then press either the F8 or F9 key to set VPinMame DMD frame skip, then click on the playfield to return focus to the game,
just to see what happens, but remember to reset the frameskip the same as above, to where you want it when done.

I had a long day yesterday and later realized I was repeating things that were already discussed.
Excuse me.

Edited by sleepy, 27 February 2011 - 07:12 PM.