Jump to content



Photo
* * * * * 12 votes

Dev thread: Road to DX9


  • Please log in to reply
2087 replies to this topic

#281 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 12 February 2014 - 03:19 PM

so if i understand well, vp9 dx9, with vpm can't work in real fullscreen?



#282 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 12 February 2014 - 03:53 PM

The problem is that, if Direct3D 9 is in fullscreen mode, then VPM fails to initialize (if their ddraw flag is set). I presume that this is due to VPM's use of DX7 and DirectDraw, which probably can't cooperate with DX9 fullscreen. Toxie has mentioned that work is underway to put the Unity Pinball changes to VPM into the VPM codebase proper, which would allow obtaining the DMD data and displaying it in VP directly, so that VPM does not have to use its own graphical output. This should fix the problem, but I have no information on when we can expect this to happen.

 

The second option would be that a devoted developer ports VPM from DX7 to DX9 as well. I presume that this would be much easier for them than it was for VP, since VPM's graphical output is fairly minimal, so the changes shouldn't amount to much. Personally, I can't muster the motivation for another porting job at this point though :-/ I hope someone steps up to it.

 

The third option, which is a bit of a workaround but which I hope will work well and most importantly, can be done right now, it to use windowed fullscreen in VP, which I plan to implement very soon.


Edited by mukuste, 12 February 2014 - 03:54 PM.


#283 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 12 February 2014 - 04:13 PM

But ddraw to 0 works fine? I have that for all my roms, and i recommend it for everybody for a better overall performance

#284 Slydog43

Slydog43

    Pinball Wizard

  • Platinum Supporter
  • 3,006 posts
  • Location:Hackettstown, NJ

  • Flag: United States of America

  • Favorite Pinball: Addams Family, All Williams 90's Games

Posted 12 February 2014 - 04:54 PM

ddraw=0 doesn't work for all tables (AFM Beta4 for example does not fix running with B2S.Server.  But windowed mode does indeed fix this table (which is awesome).  Will the windowed mode allow other resolutions? i can only go up to 1600x1200.   Thanks for the updated info.

 

Time to start a campaign to raise money for a dx9 port of VPM.



#285 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 12 February 2014 - 04:57 PM

Windowed mode in DX9 is the way to go anyhow from what i read. The exclusive fullscreen mode just seems to have so many issues, especially with Win7 and 8 and windowed mode shouldn't have any real performance drawbacks anymore nowadays.

And whatever is still broken due to windowed mode then we'll have to fix..  ;)

 

EDIT: as for maximum resolution: this is just some old legacy limit that will go away.


Edited by toxie, 12 February 2014 - 04:59 PM.


#286 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,082 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 12 February 2014 - 05:08 PM

Can you just add resolutions to the windowed mode options. And will the border show in windowed mode on a cabinet

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif


#287 rooter

rooter

    Enthusiast

  • Members
  • PipPipPip
  • 111 posts

  • Flag: United States of America

  • Favorite Pinball: Theater of Magic

  • 360 Gamer Tag: root88

Posted 12 February 2014 - 05:30 PM

This is incredible, thank you so much, mukuste.



#288 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,082 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 12 February 2014 - 05:51 PM

Can you just add resolutions to the windowed mode options. And will the border show in windowed mode on a cabinet

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif


#289 JoeM

JoeM

    Hobbyist

  • Members
  • PipPip
  • 39 posts
  • Favorite Pinball: Elvis

Posted 12 February 2014 - 07:24 PM

But ddraw to 0 works fine? I have that for all my roms, and i recommend it for everybody for a better overall performance

Where can i do this ?!? I tried to find but didn't !



#290 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 12 February 2014 - 07:27 PM

In the registry entry of each roms, don't remember the fullpath, i am with my smartphone

#291 JoeM

JoeM

    Hobbyist

  • Members
  • PipPip
  • 39 posts
  • Favorite Pinball: Elvis

Posted 12 February 2014 - 07:38 PM

In the registry entry of each roms, don't remember the fullpath, i am with my smartphone

That was fast arngrim, Thank You, I will try it !



#292 gogo69

gogo69

    Enthusiast

  • Members
  • PipPipPip
  • 446 posts
  • Location:Salzburg

  • Flag: Austria

  • Favorite Pinball: hard to tell

Posted 12 February 2014 - 08:10 PM

hkey_current_user / software / freeware / visual pinmame /


my cab : click!


#293 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 12 February 2014 - 08:30 PM

The drawback with windowed fullscreen (which won't show any window borders, it covers the whole screen and looks just like normal fullscreen) is that it always operates at your desktop resolution. For a cab I guess this should be fine. But if you want a different resolution on your PC, you have to change your desktop resolution.



#294 JoeM

JoeM

    Hobbyist

  • Members
  • PipPip
  • 39 posts
  • Favorite Pinball: Elvis

Posted 12 February 2014 - 08:42 PM

The drawback with windowed fullscreen (which won't show any window borders, it covers the whole screen and looks just like normal fullscreen) is that it always operates at your desktop resolution. For a cab I guess this should be fine. But if you want a different resolution on your PC, you have to change your desktop resolution.

If that's the only disadvantage, it is None !



#295 bent98

bent98

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,077 posts
  • Location:NY

  • Flag: United States of America

  • Favorite Pinball: Roadshow, Haunted House, Safe Cracker

Posted 12 February 2014 - 09:36 PM

I was under the impression Angrim already compiled a version of VPM that supports unity so why is it a big deal to have VPM work the same way in VP?



#296 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 12 February 2014 - 10:06 PM

i misunderstood, you just need vpm unity, here it is :)

 

Attached File  VPinMAME.rar   1.34MB   61 downloads

 

rev 3497 + unity changes, "vpf compliant", should be identical to rev 3499, i took the unity code from Billbox ;)


Edited by arngrim, 12 February 2014 - 10:06 PM.


#297 boiydiego

boiydiego

    Pinball Fan

  • Members
  • PipPipPipPip
  • 978 posts
  • Location:baal

  • Flag: Belgium

  • Favorite Pinball: flinstones,t2 chrome edition,wcs,afm,fish tales,medieval,rollercoaster tycoon,taxi

Posted 12 February 2014 - 10:23 PM

the updated file with the unity changes do i also need that file arngrim or only if i wanted to run unity3d ?


boiydiego___gebruik-n2kbkyc.png


#298 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 12 February 2014 - 10:27 PM

My version contains everything you need, for unity AND vp

#299 insx

insx

    Enthusiast

  • Members
  • PipPipPip
  • 121 posts

  • Flag: United Kingdom

  • Favorite Pinball: Revenge From Mars

Posted 12 February 2014 - 11:09 PM

ddraw=0 dramatically improved performance on one system for me and dramatically reduced it on another. VP performance seems to be such a lottery.



#300 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 12 February 2014 - 11:11 PM

Ok, that was even easier than I thought. Windowed Fullscreen is now in.
 
Let's have another round of tests, shall we?
 
Download VP9_DX9_test2 here: Attached File  VP9_DX9_test2.zip   648.36KB   169 downloads
 
Important: instead of fullscreen mode, try to run in "windowed fullscreen" mode.
You can choose it at the bottom of the list of windowed modes. It will always use your desktop resolution. Right now, only the primary monitor is supported.
 
Points of interest:

  • VPM seems to work flawlessly with windowed fullscreen mode. "ddraw=0" is NOT required. I would like people to test db2s in this mode as well and report their results.
  • There should be fewer renderer glitches now, but several still remain. Offhand, I remember: fading lights and GI8 don't work; black blotches on TZ; plunger doesn't render on TZ. Please report individual table glitches as you find them, preferably with screenshot and download link to the table.
  • How does performance of windowed fullscreen mode compare to true fullscreen? Remember to set "ddraw" to 0 in the VPinMame registry settings to get true fullscreen to work. db2s doesn't work in true fullscreen.
  • On Windows Vista/7, you can experiment with "Disable desktop composition" on the same tab where you check "Run as administrator" to improve windowed fullscreen performance. I'm interested what differences, if any, you see.

Changes since the first test:

  • many optimizations to draw calls
  • Graphics Memory is no longer displayed as it was inaccurate
  • some compatibility hacks to make tables render closer to the DX7 version
  • index buffers now used in most places, should fix the error message on World Cup Soccer
  • all remainders of DDraw code are now removed, we finally don't use DDraw anymore
  • image reels work now
  • windowed fullscreen mode
  • the full changelog is here, but you probably don't want it

Known issues:

  • lights set to blinking don't work
  • textboxes don't work
  • EM reels only work in Image Reel mode, not Text Reel
  • text decals don't work
  • kickers don't respect the depth buffer correctly
  • Stereo 3D disabled
  • AA disabled
  • renderer uses non-power-of-two textures, may cause troubles on some older cards
  • "real" full screen mode doesn't work with VPM. Workaround: set "ddraw" to 0 in the VPM settings (though DMD doesn't seem to show). Instead, try "Windowed fullscreen" mode.
  • textures aren't preloaded, can lead to stutter in some cases
  • lost devices aren't handled properly
  • screen shake doesn't work
  • object draw order wrong (see e.g.: 8BD, bonus targets under alpha ramp)

 

Happy testing!


Edited by mukuste, 12 February 2014 - 11:23 PM.