4 ms·
GPU driver packages are already a huge collection of workarounds for bad game engine coding. An Nvidia employee once told me that one of the easiest ways to sq
by anilakar 3mo ago
GPU driver packages are already a huge collection of workarounds for bad game engine coding.
An Nvidia employee once told me that one of the easiest ways to squeeze out a few extra frames on your old machine is to rename the game executable to hl2.exe.
- proton_9 3mo agoThis sounds like a really interesting story, would like to read more on why half life 2 specifically? the game itself was pretty well optimized and ran on really low end hardware even back in the day.
- db48x 3mo agoBecause everyone reported performance metrics using it as a benchmark. Higher number = more sales.
- murderfs 3mo agoIf you go back 5 years, everyone was using Quake 3 Arena as the benchmark. ATI got in some hot water because if you renamed quake3.exe to quack3.exe, your FPS would drop by 15%, because they were silently reducing quality to juice their benchmark numbers.
- tester756 3mo ago5 or 50? I'd say 5 years ago it was already Witcher 3, Cyberpunk 2077, GTA 5, etc.
- Klayy 3mo ago5 years before hl2
- jkrejcha 3mo agoApparently people did this with the DirectX "3D Tunnel" demo as well[1] back over 20 years ago. Also there was one "that checked if you were printing a specific string used by a popular benchmark program. If so, then it only drew the string a quarter of the time and merely returned without doing anything the other three quarters of the time". [1]: https://devblogs.microsoft.com/oldnewthing/20040305-00/?p=40373 https://devblogs.microsoft.com/oldnewthing/20040305-00/?p=40...
- limflick 3mo ago> to rename the game executable to hl2.exe This seems genuinely unbelievable. Does anyone have a technical explanation for this?
- hurtigioll 3mo agogpu drivers detect games, among other thing by looking at executable names then driver "optimizes" behavior, sometimes dishonestly (reducing precision), sometimes honestly (working around game engine stupidity)
- limflick 3mo agoCouldn't that also cause glitches since optimizations meant for HL2 might not work for, say San Andreas? I understand some optimizations might be universal but I can't help but think about unexpected behavior.
- tester756 3mo agoWho's problem is this? Nvidia probably doesnt officially say anything about this and 99.9% of people do not rename process name
- hurtigioll 3mo agoof course they do. nvidia even has an official api for a game to identify itself so they dont need to look at executable name
- limflick 3mo agoPhrasing, I wasn't blaming anyone, just curious about the technicalities.
- account42 3mo agoIt's definitely Nvidia's problem if this breaks something. Nothing in the D3D/OpenGL specs says that you can (not) use certain executable names.
- st_goliath 3mo ago> GPU driver packages are already a huge collection of workarounds for bad game engine coding. And of course, browser engines also do the same things for certain websites: https://github.com/WebKit/WebKit/blob/main/Source/WebCore/page/QuirksData.h#L33 https://github.com/WebKit/WebKit/blob/main/Source/WebCore/pa... https://github.com/WebKit/WebKit/blob/main/Source/WebCore/page/Quirks.cpp https://github.com/WebKit/WebKit/blob/main/Source/WebCore/pa...
- necovek 3mo agoI can see how it can modify GPU driver behavior, but I cannot see how it would get you better performance with everything else the same? What it should do is ensure some things not relevant to Half-Life 2 were not done, thus getting better performance for this game in particular, but there is no guarantee that same optimizations work for other applications or games, so one should not expect an overall improvement. Unless they are doing some silly things like dropping quality, but that's the "everything else the same" point. If not, why not have this enabled as default behavior instead?
- dlcarrier 3mo agoI wouldn't be surprised if it made other games on the Source engine faster, but everything else slower.
- sfink 3mo agoIn general, because it's a flag that says to do things in an incorrect but faster way. It's like -ffast-math. The applications for which it's intended don't do anything where the incorrectness matters. Some random application falsely labeled hl2.exe may or may not. > What it should do is ensure some things not relevant to Half-Life 2 were not done, thus getting better performance for this game in particular, but there is no guarantee that same optimizations work for other applications or games, so one should not expect an overall improvement. I can't quite parse this. Yes, there is no guarantee that the optimizations will work for another game, which is precisely why you can expect an improvement with hl2. With non-hl2, you may get an improvement, you may not, and you may get incorrect behavior. Everything else is not the same, but hl2 doesn't use the stuff that's different.