The one thing I didn't change ![]()
That took care of it!!! thanks toxie!!!
Posted 28 July 2017 - 03:34 PM
i quickly looked on how easy it would be and even the standard DX9 performance queries failed on me.. so no low hanging fruit there to get this done easily..
unless one has a typo in there that f*#ks it all up.. ![]()
so maybe not that unlikely to have something like that.. i'll see what i can do..
Posted 28 July 2017 - 09:29 PM
Yes, good plan, but not as easy as simply adding timers around function calls unfortunately.. To properly do this one would need something like perfkit SDK (who knows if this still works properly nowadays) as so much is running async on the CPU/GPU nowadays..
Thanks for checking. We could do it without perfkit SDK in a brute force manner by automating what I currently have to do manually - exclude/remove an object, render, review FPS, rinse, repeat. It would take a while for a table with a lot of objects but the performance analysis doesn't have to be pretty or fast. If I get some time I"ll tinker around with that and let you know if I get it to work if your method fails.
As Toxie already said it's quite complicated to add that and imho it shouldn't be part of VP. As a rule of thumb for better performance when building a table is to combine as much meshes as possible into one mesh that also uses one texture/material. Performance will surely drop when you draw a lot of small walls with different and transparent textures/materials. Especially VP9 ports behave like that if the author didn't pay attention.
Yep the idea is to help table authors understand what has impact. If not part of VP, what would it be part of? That's like saying the code profiler shouldn't be part of visual studio. ![]()
Edited by DJRobX, 28 July 2017 - 09:37 PM.
Posted 30 July 2017 - 08:54 PM
Edited by Dozer316, 30 July 2017 - 08:55 PM.
Posted 31 July 2017 - 03:45 PM
I had this as well and fixed it for Diner, but I do not remember how. If you copy a light from the slingshots GI of Diner, does that work? I even used two lights below the playfield for nice highlights.
Hey Flupper, I fixed it today too accidentally. What caused it was I had dragged a number of old ramps out to the side of the table which meant that when I first started the table I had very high X and Y offsets to get it centered. (Like in the 1000's). I left all this old stuff out there because the script was still calling old alpha ramps etc. I finally got around to cleaning up the script today and deleted all this old stuff which meant I could centre again with small offsets and it fixed the reflection problem!
I'm actually about to start doing the ramps for I500 with your tutorial so thanks a million for taking the time to put that together.
Posted 01 August 2017 - 10:59 PM
So, what's the deal with legacy mode on targets, drop targets in particular. First off it's not documented what it is/does in commandreference.txt, and secondly without it turned on drop target hits don't always register, the ball just bounces off. I know this has been going on for quite some time and everyone's solution is to just turn on legacy mode then it all works, which is fine, but I currently working on a setup where I can't have the drops drop if hit from behind, which they do if set to legacy. I could put a small wall behind them all and script around it, but it's a feature that should work and just doesn't always, like 95% of the time it works, but it's really annoying when it doesn't, especially when it does it several times in a row.
If you play long enough on the default table the drop targets on the right side will exhibit this behavior.
Posted 02 August 2017 - 02:06 AM
In legacy mode any hit on the droptarget will count, this is: all the sides will register the hit, front, sides and back. But if legacy mode is not selected then only the hits on the front side will register as a hit.
If you want to check my latest uploads then click on the image below:
Next table? A tribute table to Stern's Foo Fighters
Posted 02 August 2017 - 04:30 AM
Posted 02 August 2017 - 06:47 AM
So, what's the deal with legacy mode on targets, drop targets in particular. First off it's not documented what it is/does in commandreference.txt, and secondly without it turned on drop target hits don't always register, the ball just bounces off. I know this has been going on for quite some time and everyone's solution is to just turn on legacy mode then it all works, which is fine, but I currently working on a setup where I can't have the drops drop if hit from behind, which they do if set to legacy. I could put a small wall behind them all and script around it, but it's a feature that should work and just doesn't always, like 95% of the time it works, but it's really annoying when it doesn't, especially when it does it several times in a row.
If you play long enough on the default table the drop targets on the right side will exhibit this behavior.
Phew! I thought I was going crazy when It seemed the drop targets on certain tables weren't registering. Wasn't sure if it was my eye playing tricks on me. ![]()
I could have been smart, but I never learned anything by being smart!
Posted 02 August 2017 - 08:43 AM
@BorgDog : Curious, these targets are they at 0 angle ? I believe I read somewhere that a slight angle change, even by a degree could changed their behaviour. Don't remember where I read it, or if it is valid in this case.
From now on. I won't help anyone here at VPF. Please ask Noah why that is.
Posted 02 August 2017 - 09:59 AM
Yes, good plan, but not as easy as simply adding timers around function calls unfortunately.. To properly do this one would need something like perfkit SDK (who knows if this still works properly nowadays) as so much is running async on the CPU/GPU nowadays..
Thanks for checking. We could do it without perfkit SDK in a brute force manner by automating what I currently have to do manually - exclude/remove an object, render, review FPS, rinse, repeat. It would take a while for a table with a lot of objects but the performance analysis doesn't have to be pretty or fast. If I get some time I"ll tinker around with that and let you know if I get it to work if your method fails.
As Toxie already said it's quite complicated to add that and imho it shouldn't be part of VP. As a rule of thumb for better performance when building a table is to combine as much meshes as possible into one mesh that also uses one texture/material. Performance will surely drop when you draw a lot of small walls with different and transparent textures/materials. Especially VP9 ports behave like that if the author didn't pay attention.
Yep the idea is to help table authors understand what has impact. If not part of VP, what would it be part of? That's like saying the code profiler shouldn't be part of visual studio.
I think i found a reasonable trade-off for now, something which then again the authors can build upon (our your additional code??).
The F11-stats/debug display now has 2 additional modes: One which tracks the timings for each rendering component (like ambient occlusion, playfield reflections, elements rendering), and one which tracks the timings for each element type(s).
This way one can see with mode 1 which rendering components dominate the gameplay (e.g. if it's just something that must be triggered anyway like ambient occlusion (if enabled) and that cannot be changed by the author) and then with mode 2 which element type(s) are dominating the author created part.
Posted 02 August 2017 - 03:14 PM
@BorgDog : Curious, these targets are they at 0 angle ? I believe I read somewhere that a slight angle change, even by a degree could changed their behaviour. Don't remember where I read it, or if it is valid in this case.
Both the ones in my table and the default table are at an angle.
I'll check that when I'm back from vacation it sounds like that the hit shape of a drop target has an orientation issue.
Thanks fuzzel.