Mod Idea - Force-Enable PhysX/APEX on GPU

+

Guest 3841499

Guest
Mod Idea - Force-Enable PhysX/APEX on GPU

Sometime in early patches CDPR disabled GPU APEX PhysX (aside from HairWorks!) and forced it onto CPU due to W3 running better (performance-wise) when APEX PhysX ran off CPU, but that was THEN in 2015. What about now?

​Let's not touch the whole "Why?" or "downgrade" or whatever sensitive topics here. I am only curious about how to re-enable APEX PhysX to run off GPU.

AFAIK, its hard-coded and none of these .INI settings tweaks (such as APEX Clothing bla bla = true) are functional. You can enable NVidia PhysX info thingy that shows whether CPU or GPU is used and see that info in-game. With HairWorks disabled, CPU is always shown, regardless of that APEX Clothing tweak.

It would interesting if some modder could figure out a way to re-enable PhysX to run fully off GPU again.

 
MonarchX;n9933861 said:
It would interesting if some modder could figure out a way to re-enable PhysX to run fully off GPU again.
Why? TW3 is not very CPU intensive and the kind of PhysX that it uses doesn't really benefit from GPU acceleration. Running it on the GPU would only make the GPU work harder for no reason whatsoever. You wouldn't get better graphics, you'd only get lower framerate.
 

Guest 3841499

Guest
AFAIK, W3 is VERY CPU intensive...

Almost every single game out there, aside from W3, gets a performance boost from using PhysX on GPU instead of CPU.
 

Guest 3841499

Guest
TudorAdrian;n9934641 said:
You can force it to run on the gpu from the nvidia control panel.

No, you can't. Try it out and you will see that the game still uses CPU and not GPU.
 

Guest 2364765

Guest
It got disabled for a reason, versions of GPU accelerated gameworks features from gameworks around 2013 to early 2016 behaved wonky on most of NVIDIA configurations, including BSODing on overclocked machines and applications crashing. In most cases this was resolved by switching PhysX to CPU, which i assume developers did on their own to cut a corner and not bother with waiting for NVIDIA to straighten gameworks out.
 

Guest 3841499

Guest
Yes. Its almost 2018 now and not that long ago NVidia updated PhysX version, not to mention GTX 10x series were not available back then. That is why I wanted to see how things run TODAY with PhysX running off GPU instead of CPU.
 

Guest 2364765

Guest
NVIDIA sided updates don't matter unless issues were caused by faulty driver, developer is provided with gameworks binaries to integrate in the engine during development. Unless they update those binaries to newer version themselves (ergo patching the game) nothing will change.
 
Just some general input on this whole "game version vs. driver version" topic:

It's often like two totally separate trains heading to two totally separate destinations on tracks that may or may not intersect at some point. If a driver version is not giving me any problems, I don't update them. If I encounter a problem with a specific title, and I discover that a fix has been released by Nvidia / AMD (Nvidia in my case), I always maintain an installation package of the prior drivers that I know were working well.

- Very often, what works well for one game will cause small issues for 5 others (especially if you play a lot of legacy titles).

- Very often, what is supposed to "fix" something...does absolutely nothing or makes the issue worse.

- Very often, "fixes" in a driver version may suddenly begin conflicting with official fixes introduced in game version updates.

Being able to roll back to a driver version that I know works smoothly with my particular system is critical for smooth sailing. The general rule of thumb is: game version trumps driver version. If an official fix is released for a title, I automatically assume that I may need to roll back my drivers. Sometimes it's not necessary, but usually, if I experience some weirdness with graphics / performance, the roll back solves it. Many developers only remain current with drivers up to a point.

I absolutely avoid updating drivers that supposedly "increase FPS in XYZ Title". Most of these "optimizations" are achieved by having the drivers "cut corners" on game processes (which can introduce other problems) and normally add only a handful of FPS in certain areas. Generally not worth it. Very occasionally, a driver version will really improve performance in certain titles, though such specialized modifications will often introduce a host of issues with other titles. It's a give-and-take situation.

If a driver version is really stable, there tends to be a lot of feedback that identifies this as being the case, and you'll be able to easily find a lot of such feedback on the manufacturer's website and sites like guru3d.com. If looking to update, it might be better to select one of these versions (even if they're not the most current). And always update using Display Driver Uninstaller, followed by a PC restart, followed by using the CLEAN installation option.


TL;DR

All of the above falls under the golden rule of maintaining a stable, gaming PC: "If there is no issue, change nothing." I normally update drivers only once or twice per year.

Also, proprietary tech (like onboard PhysX Processors) will always be hit-or miss. Sometimes, I think that Nvidia / AMD keep such a tight lid on how their unique toys work that not even developers get the info they need to take advantage of them properly. The unending irony...
 
Last edited:

Guest 3841499

Guest
Thank you for your input SigilFey, but I was looking at this from testing perspective, not troubleshooting. GPU's got faster, drivers changed and thus I was curious how W3 would perform today with PhysX on GPU rather than CPU.

BTW, I disagree about the whole driver thing, especially when it comes to GPU drivers because, for example, running a game 20% slower with an older driver may not render the driver broken, but it would still be underperforming if newer driver was optimized to run the same game 20% faster. Sometimes you are not even aware of the issue until it gets fixed, making an obvious difference (or barely notice-able one). Nonetheless, it comes.down to user skills, experience, and the rig I update everything from drivers for all hardware to motherboard BIOS, videocard BIOS, as well as, use advanced tools like UBU to update specific motherboard firmware/ROM's/OROM's (Intel Management Engine Interface, Rapid Storage Tech., CPU microcode, LAN). I only had one minor issue this year with NVidia WHQL driver that was fixed promptly by NVidia's Hotfix driver.

If you want to play newly-released games, it makes far more sense.to.keep GPU drivers updated to the latest due to fixes and optimizations for those games than to stick with "if not broken, don't fix it" rule.

All that was so off-topic I guess?
 
MonarchX;n9946571 said:
Thank you for your input SigilFey, but I was looking at this from testing perspective, not troubleshooting. GPU's got faster, drivers changed and thus I was curious how W3 would perform today with PhysX on GPU rather than CPU.

BTW, I disagree about the whole driver thing, especially when it comes to GPU drivers because, for example, running a game 20% slower with an older driver may not render the driver broken, but it would still be underperforming if newer driver was optimized to run the same game 20% faster. Sometimes you are not even aware of the issue until it gets fixed, making an obvious difference (or barely notice-able one). Nonetheless, it comes.down to user skills, experience, and the rig I update everything from drivers for all hardware to motherboard BIOS, videocard BIOS, as well as, use advanced tools like UBU to update specific motherboard firmware/ROM's/OROM's (Intel Management Engine Interface, Rapid Storage Tech., CPU microcode, LAN). I only had one minor issue this year with NVidia WHQL driver that was fixed promptly by NVidia's Hotfix driver.

If you want to play newly-released games, it makes far more sense.to.keep GPU drivers updated to the latest due to fixes and optimizations for those games than to stick with "if not broken, don't fix it" rule.

All that was so off-topic I guess?

Not off-topic at all! And, of course, it all comes down to personal decisions in the end. What is true, though, is the modern habit of staying current to-the-minute with programs, drivers, and OS updates is responsible for a vast number of issues. (It's unfortunate that so many OS updates, especially, are nothing more than intrusive "security" features that will only benefit a tiny percentage of users, but will negatively impact performance and/or ease-of-use for all users. Other updates may intentionally limit user functionality for...questionable purposes. Add to this the human error inherent in all code, and many companies with "corporate incentives" to release "one update every week/month/season!" for example, and it's easy to see how constantly updating is basically rolling dice.)

For testing, go nuts! Especially with modding (which often hooks or overrides vanilla game functions), those added features and processes may benefit from more current drivers than the older versions the vanilla game was optimized for. That is a valid consideration!

Across the board, however, it always works as follows: A program is originally written for driver version A. Over time, that program is updated to work with driver version B, C, D, and E -- but it works BEST with C. And it always will. If version C is installed, and I'm not having any issues with other programs, there is 0% reason to change the operating environment unless I encounter an issue. It risks introducing issues where there were none for (normally) insignificant gains. The power-user approach (squeezing every last ounce of performance out of my system) is the polar opposite of the optimization approach. If I'm optimizing, I'm trying to get 100% functionality with the minimum percentage of resources possible. (So, if I can get a solid 60 FPS with my GPU running at only 30% -- that's amazing.) Conversely, power-usage means that I'm going to drive my system to its limits to achieve 168% functionality while all reactors are firing at 115%. Yup, performance may be blazing, but it's next to impossible to maintain stability. (Plus, how long can I reasonably expect the hardware will hold out under that constant strain?) Any changes to the operating environment to squeeze more power out of a system is generally a direct path to introducing issues, not solving them.

But there are times when there is a reason. It's extremely rare for a driver update to increase a games' performance by 20%...but such situations have occurred. (I remember an Nvidia patch coming out when Supreme Commander [...or maybe it was Ground Control...some fancy, 3D RTS...] was first released that literally doubled performance during large battles.) It does happen. Although, it's very, very rare. If a driver update creates such drastic disparity in performance (especially if it affects more than a single title), that's normally indicative of a problem with the prior driver installation, not that the new drivers are that much better.

In the end, my point here (why this is very much on-topic), is that by changing a driver version to forcibly enable something that the developers have intentionally disabled, it directly introduces an operating environment that was known to be specifically problematic. This can also happen unintentionally through an unnecessary update: if flags within the driver happen to change in the new version, it may allow players to activate features that prior driver versions shielded them from with particular titles. The "newest and best" thing may introduce an old problem...one that was already solved by prior versions.

Overall, it's a relatively inefficient way of trying to test, problem-solve, or create a foundation for introducing something new in an older title. I know this might seem like a complicated and round-about way of explaining the point, but I'm not sure there's a way of making sense of it, otherwise. (And of course, I'm just sharing info -- not trying to dissuade you from fiddling with the PhysX thing. :) Worst case scenario is: it simply won't work that well.)
 

Guest 3841499

Guest
Yeah, it was disabled for a reason. I bet ya a LOT of games disable a lot of things because at the time of release barely any hardware can run with those "things" turned on, which is why there is modding that can continue years after the initial release / latest patch and by that time new hardware may very much come out to handle those "disabled things". I don't want to touch the sensitive point, but that's why Witcher 3 was "optimized" - hardware (consoles primarily). If W3 was released today, a lot of those "disabled things" would more than likely be "enabled".

Perfect example - shadows from many light sources were disabled in vanilla W3 and DJ Kovrik enabled them ;). They are not perfect, but good enough to enjoy them more than not having them.
 
Top Bottom