i'll just leave this here: (for no reason)Lending Clarity To Confusion: The Truth About Nvidia GameWorks
TL:DR (Click to show)
Edited by looniam - 2/9/16 at 3:04am
What did I find out after months of reading code, learning more about GameWorks and playing games? A lot of confusion and mystery around something that’s unbelievably simple – if you accept certain truths as reality. The truth of it is however you want to call it – middleware, toolbox, etc. – GameWorks is a collection of APIs that help people achieve great things with games without investing all of the time into it themselves. Some of it is restricted to NVIDIA – not because of some mysterious reason, because it’s CUDA based. The rest of it is available for use independent of graphics hardware, but it’s up to the developer to decide how that’s best implemented and work through their QA/debugging to tune those issues before it gets to the end user. When that doesn’t happen, and it’s never going to be 100% eliminated, developers have been quick to either debug it or refer it to the graphics manufacturer as a bug in their driver, which then often is corrected in short order.
The other truth of it is that because GameWorks in the middle of the process short of reverse engineering you’re never going to see the whole picture – and I think that’s where the gaming community got it wrong in the Ashes of the Singularity “kerfluffle” over the summer. Much of it was trying to examine it in the middle – but due to the fact that we don’t know all of the interaction and behavior between the layers of a GPU and the driver written for it, there’s still a large gap there. Are we ever going to know all of that? Not entirely; a lot of that is still trade secrets and kept proprietary, though strides are being made in the Linux space to unlock part of that mystery via open source drivers.
It goes back to that saying in programming that the right solution for a problem is one that gets the correct solution at the end; the methodology to get there may be different, but as long as the end result is achieved. My article back in August suggested this might be possible and the benchmark version from October reinforced that. So it cannot be stressed enough – don’t count out someone because solution A didn’t work, especially if there are many other ways to solve it using a different approach. And GameWorks just gives several of those options available to developers for consideration of using in their projects.
If you have a game development project that you’re working on, GameWorks is certainly worth your consideration to see what solutions might be out there for you to implement. Take a good look, try it out and see if they work for you. Reach out to the development community on the NVIDIA forums if you get stuck and see if they can help you. And if you’re using Unreal Engine 4, take a look at the branch that already includes some of these features. For gamers, it’s time to put this axe down and rather than try to attack it, embrace every open tool out there for developers that helps them bring a game to you with lower development time and cost. And if it’s not working right on your system, contact them – send the developers your feedback. But do it productively such as a bug report or e-mail so that it really gets fixed – something that Twitter, Facebook and forum posts will not often get easily identified and corrected. You might just find that with the right information that bug gets squashed and your playing experience is just as good as you expected it to be.