Jump to content



Photo
* * * * * 12 votes

Dev thread: Road to DX9


  • Please log in to reply
2087 replies to this topic

#321 zany

zany

    3D Beer Drinker

  • VIP
  • 1,644 posts

  • Flag: Sweden

  • Favorite Pinball: Medieval Madness



Posted 13 February 2014 - 07:30 AM

I just have to say it once more.....this is F*KING AMAZING!
Tried the latest(test2) on two computers. First out was my i7 laptop, with really poor nvidia GT425M 1Gb gfx card, 4Gb ram and Win7 64 bit. Most of the newer tables with alot going on, is unplayable with the VP DX7....but runs REALLY good with the DX9 verison. :D
Next computer was my dual screen arcade computer. A i5 3400GHz, Nvidia GTX660 2Gb, 8Gb ram and Win7 64 bit. Some games did lag and stutter, like I*man and especially Monster Bash. On Moster Bash(PCKiller) i had an FPS around 40FPS and som horrible lag and stutter with the DX7 version, but with the DX9 i have an FPS of around 1400FPS and an avarage of around 1000. i Played this in windowed fullscreen with B2S on the second display, and DMD on top of the B2S.

On I*man and T* Lega* i couldn't see any graphic issues, but a few minor ones on other tables...like some balck spots and lines across.

Mukuste...this is like a dream come true.....and me and as i guess all the others in this community REALLY appreciate all the amazing work you do!!

Keep it up...i cant wait for the next version!!!! :D

Huge THANX!!!!!

 


Edited by zany, 13 February 2014 - 01:50 PM.


#322 patito

patito

    Hobbyist

  • Members
  • PipPip
  • 24 posts

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

  • Favorite Pinball: pinbot

Posted 13 February 2014 - 07:52 AM

I just have to say it once more.....this is F*KING AMAZING!
Tried the latest(test2) on two computers. First out was my i7 laptop, with really poor nvidia GT425M 1Gb gfx card, 4Gb ram and Win7 64 bit. Most of the newer tables with alot going on, is unplayable with the VP DX7....but runs REALLY good with the DX9 verison. :D
Next computer was my dual screen arcade computer. A i5 3400GHz, Nvidia GTX660 2Gb, 8Gb ram and Win7 64 bit. Some games did lag and stutter, like Ironman and especially Monster Bash. On Moster Bash(PCKiller) i had an FPS around 40FPS and som horrible lag and stutter with the DX7 version, but with the DX9 i have an FPS of around 1400FPS and an avarage of around 1000. i Played this in windowed fullscreen with B2S on the second display, and DMD on top of the B2S.

On Ironman and Tron Legacy i couldn't see any graphic issues, but a few minor ones on other tables...like some balck spots and lines across.

Mukuste...this is like a dream come true.....and me and as i guess all the others in this community REALLY appreciate all the amazing work you do!!

Keep it up...i cant wait for the next version!!!! :D

Huge THANX!!!!!

 

im pretty sure you meant to say tables "I" and "T"



#323 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 13 February 2014 - 07:52 AM

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

 

attachicon.gifVPinMAME.rar

 

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

 

i guess thats not the issue, it would just be nice to have the changes from the unity team in the official version, too, so that there could be an official release.

the changes they made are not so important currently anyhow, but we can need them later-on.



#324 teppotee

teppotee

    Enthusiast

  • Members
  • PipPipPip
  • 382 posts
  • Location:Finland

  • Flag: Finland

  • Favorite Pinball: CV

Posted 13 February 2014 - 07:56 AM

If the Taxi version with the spinout problem is the latest Night mod from Aaron and me and you have BMPR lite enabled-> it might be that one of the triggers is not triggering as it should. In that version I had to add a trigger to the ball launch to disable momentum timer when the ball enters the spinner. Otherwise it would spin there forever. It's enabled again when it drops out. That could be one explanation although I don't know how the new rendering could cause that.



#325 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 13 February 2014 - 07:59 AM

I ran "A" a second time and this time I get 8007000e in RenderDevice.cpp line 298. 

 

Not really sure what makes them any different from other tables (I tried a lot of them!), but I did try setting the max texture limit to 2048 and it didn't make a difference.   Also just tried 1024, same thing.

 

What I meant by "sharding" is that the playfield looks like it has some broken shards of glass.   

 

 

So it's again the texture error then on "A". I think I haven't implemented max texture limit yet, sorry about that. Will try to do soon.

 

I think someone reported something similar to that sharding on AFM... does it disappear if you go to a "normal" windowed mode?



#326 bosvrucht

bosvrucht

    Enthusiast

  • Members
  • PipPipPip
  • 410 posts

  • Flag: Netherlands

  • Favorite Pinball: LOTR

Posted 13 February 2014 - 08:25 AM

"A" indeed has VERY large textures, so that must be the problem there.

 

I just tried test2 on my toshiba encore: i only tried two tables (because touch controls are not working, probably because it was added for fullscreen only).  The performance gain on apollo 13 for example is about 40-80%.  So much, much less than the gain others have reported. Just shows that intel is the only one with decent legacy support in their graphics drivers i guess...



#327 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 13 February 2014 - 08:59 AM

"A" indeed has VERY large textures, so that must be the problem there.

 

I just tried test2 on my toshiba encore: i only tried two tables (because touch controls are not working, probably because it was added for fullscreen only).  The performance gain on apollo 13 for example is about 40-80%.  So much, much less than the gain others have reported. Just shows that intel is the only one with decent legacy support in their graphics drivers i guess...

 

Maybe the reason is that Intel Graphics, being an on-chip solution, accesses main memory directly, so the whole copying to-and-from GPU that happened to discrete cards in the DDraw version didn't affect it as much.

 

But when you say 40-80% gain, what are your actual fps numbers? Do you still have bad framerate, or was your framerate good to begin with?



#328 bosvrucht

bosvrucht

    Enthusiast

  • Members
  • PipPipPip
  • 410 posts

  • Flag: Netherlands

  • Favorite Pinball: LOTR

Posted 13 February 2014 - 10:14 AM

well, for some tables the difference is bigger, for some small:

The recent WCS94 1.1 Mod, which is quite demanding:

DX7: 28 FPS

DX9: 96 FPS

F14 tomcat vp916 FS CMH v2Daymod

DX7: 135 FPS

DX9: 150 FPS

Monster Bash 2.1 PCkiller edition (daymod, with fading GI)

DX7: 9 FPS

DX9: 88 FPS (not bad for a 1.3ghz intel atom with integrated graphics!)


Edited by bosvrucht, 13 February 2014 - 10:15 AM.


#329 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 13 February 2014 - 10:18 AM

Well those are pretty decent numbers! The only case where you didn't gain much was where the framerate was already pretty good.



#330 bosvrucht

bosvrucht

    Enthusiast

  • Members
  • PipPipPip
  • 410 posts

  • Flag: Netherlands

  • Favorite Pinball: LOTR

Posted 13 February 2014 - 10:29 AM

found my first table with negative results:

 

it is an older table, Flintstones V2.1 JPG-PINSFS JW mod

 

DX7: 240 fps avg

DX9: 160 fps avg

 

Edit:

 

I tried another old table, which obviously does not use any of the current innovations

 

LOTR VP9 2.1_samples

 

DX7: 179 fps avg

DX9: 145 fps avg

 

It does seem however, that the DX9 framerate is more stable


Edited by bosvrucht, 13 February 2014 - 10:35 AM.


#331 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 13 February 2014 - 11:49 AM

@ bosvrucht:

 

I'll agree that that's a bit disappointing, but I'm afraid there's not much we can do about it. The DX9 renderer basically does much more work than the DX7 one, but offloads most of it to the GPU. So if the GPU is rather weak, like those integrated Intel graphics on a tablet, then it's possible that you get worse fps. May I ask what resolution you were running at?

 

There may still be some optimizations we can do, and also reducing texture sizes or similar measures might help. I can't promise too much though.

 

 

@ the mythical "A" table:

 

Here's what MSDN has to say about that error code:

E_OUTOFMEMORY Failed to allocate necessary memory 0x8007000E

So, yes, it must be a positively huge texture. May I ask just how large? If it's as big as I dread it is, then I'm sure one can easily cut its size in half without affecting visual quality in the slightest.

 

 

@ the Taxi crashes:

 

I found a very nasty bug in the ramp rendering code which was already present in VP9, but for some reason or other didn't rear its head. Basically the code would sometimes try to stuff more data into a vertex buffer than it had space for, overwriting other data areas and then trying to render from the effectively too small vertex buffer, which can have disastrous consequences. It was also really hard to track down due to the spaghetti code in the ramp class (I swear, it's a spawn from hell and I resent whoever wrote it). It's very likely that this bug also happens on other tables, though I don't know which. At least on my card this bug caused a crash, and so by fixing it I hope stability will improve overall.

 

This shouldn't have anything to do with the screwy physics, though. Can someone confirm that they are actually different in the DX9 version?

 

 

@ anyone:

 

I have another question for the gurus of table creation. On TZ [Megapin], there are several invisible walls (droppable) which are used to trigger updates. For instance, at the entry to the gumball machine, there is a wall named "Cagehide" which performs this function. In VP9, it's invisible, in my renderer not. What I don't understand, though, is that it seems to be not pure black, but have RGB color (7,7,7) or (9,9,9), I forget, something very close to black at least. So how did it even work that that was invisible in the VP9 renderer? I thought it accepted only pure black for that purpose.


Edited by mukuste, 13 February 2014 - 11:49 AM.


#332 JoeM

JoeM

    Hobbyist

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

Posted 13 February 2014 - 11:54 AM

Oh my God ! There's something going on !

 

It's magic !!!



#333 Slydog43

Slydog43

    Pinball Wizard

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

  • Flag: United States of America

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

Posted 13 February 2014 - 12:18 PM

My Taxi (nightmod) works fine, except crashes on exit, strange.  Plunger and skill shot work fine.



#334 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 13 February 2014 - 12:22 PM

My Taxi (nightmod) works fine, except crashes on exit, strange.  Plunger and skill shot work fine.

 

It really depends on your video driver how badly it takes that issue. The crash on exit most likely comes from this bug, though, and should be fixed in the next release.



#335 Slydog43

Slydog43

    Pinball Wizard

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

  • Flag: United States of America

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

Posted 13 February 2014 - 12:35 PM

so excited it was hard sleeping last night (might also be the snow day + VP excitement), back to more testing.

 

Lastest version of def leppard 9.2, looks a little strange

 

def.png



#336 bosvrucht

bosvrucht

    Enthusiast

  • Members
  • PipPipPip
  • 410 posts

  • Flag: Netherlands

  • Favorite Pinball: LOTR

Posted 13 February 2014 - 12:38 PM

@ bosvrucht:

 

I'll agree that that's a bit disappointing, but I'm afraid there's not much we can do about it. The DX9 renderer basically does much more work than the DX7 one, but offloads most of it to the GPU. So if the GPU is rather weak, like those integrated Intel graphics on a tablet, then it's possible that you get worse fps. May I ask what resolution you were running at?

 

There may still be some optimizations we can do, and also reducing texture sizes or similar measures might help. I can't promise too much though.

 

 

@ the mythical "A" table:

 

Here's what MSDN has to say about that error code:

E_OUTOFMEMORY Failed to allocate necessary memory 0x8007000E

So, yes, it must be a positively huge texture. May I ask just how large? If it's as big as I dread it is, then I'm sure one can easily cut its size in half without affecting visual quality in the slightest.

 

i am running at 1280x800

 

"A"  has 2048 x 4096 pf images i believe,  this because they look better on 85vetts own system,  he realises this should be impossible, but it is still true for him.



#337 JohnnyDoe

JohnnyDoe

    Enthusiast

  • Platinum Supporter
  • 238 posts

  • Flag: Sweden

  • Favorite Pinball: White Water

Posted 13 February 2014 - 12:58 PM

 

@ bosvrucht:

 

I'll agree that that's a bit disappointing, but I'm afraid there's not much we can do about it. The DX9 renderer basically does much more work than the DX7 one, but offloads most of it to the GPU. So if the GPU is rather weak, like those integrated Intel graphics on a tablet, then it's possible that you get worse fps. May I ask what resolution you were running at?

 

There may still be some optimizations we can do, and also reducing texture sizes or similar measures might help. I can't promise too much though.

 

 

@ the mythical "A" table:

 

Here's what MSDN has to say about that error code:

E_OUTOFMEMORY Failed to allocate necessary memory 0x8007000E

So, yes, it must be a positively huge texture. May I ask just how large? If it's as big as I dread it is, then I'm sure one can easily cut its size in half without affecting visual quality in the slightest.

 

i am running at 1280x800

 

"A"  has 2048 x 4096 pf images i believe,  this because they look better on 85vetts own system,  he realises this should be impossible, but it is still true for him.

 

 

I had an out of memory error on MB PCKiller edition. This had to do with a line in core.vbs. I just edited it out and it worked right away.

I think its related to DOF. Theres a line calling ledcontrol.vbs which is not needed anymore if you're using DOF.

Not sure if its related to your problem?



#338 bent98

bent98

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: Roadshow, Haunted House, Safe Cracker

Posted 13 February 2014 - 01:04 PM

@ bosvrucht:
 
I'll agree that that's a bit disappointing, but I'm afraid there's not much we can do about it. The DX9 renderer basically does much more work than the DX7 one, but offloads most of it to the GPU. So if the GPU is rather weak, like those integrated Intel graphics on a tablet, then it's possible that you get worse fps. May I ask what resolution you were running at?
 
There may still be some optimizations we can do, and also reducing texture sizes or similar measures might help. I can't promise too much though.
 
 
@ the mythical "A" table:
 
Here's what MSDN has to say about that error code:
E_OUTOFMEMORY Failed to allocate necessary memory 0x8007000E
So, yes, it must be a positively huge texture. May I ask just how large? If it's as big as I dread it is, then I'm sure one can easily cut its size in half without affecting visual quality in the slightest.

 
i am running at 1280x800
 
"A"  has 2048 x 4096 pf images i believe,  this because they look better on 85vetts own system,  he realises this should be impossible, but it is still true for him.
 
I had an out of memory error on MB PCKiller edition. This had to do with a line in core.vbs. I just edited it out and it worked right away.
I think its related to DOF. Theres a line calling ledcontrol.vbs which is not needed anymore if you're using DOF.
Not sure if its related to your problem?
Sounds like your not running the latest core.vbs or you didn't delete you led control.vbs file

#339 JohnnyDoe

JohnnyDoe

    Enthusiast

  • Platinum Supporter
  • 238 posts

  • Flag: Sweden

  • Favorite Pinball: White Water

Posted 13 February 2014 - 01:10 PM

@bent98: Who are you responding to? My post was a suggestion to bosvrucht, not a question.

 

Anyway. I just tried Indiana Jones, and its beautiful. The physics is spot-on, feels just like a real pin. Superb work Mukuste.

And of course a shout out to Lord Hiryu and Teppotee for making the table.


Edited by JohnnyDoe, 13 February 2014 - 01:12 PM.


#340 unclewilly

unclewilly

    sofa king.....

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

  • Flag: United States of America

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



Posted 13 February 2014 - 01:17 PM

Just a suggestion on light objects. If we could just swap textures or have 4 instead of 2 then we could use one light object and still use a fading light routine.

If there were 4 options on one light that would cycle through when an on or off command was called. With the interval determining the time between changes of the faces

"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