• Welcome to The Foxhole Forum Archives.
 

Technical WTF

Started by Starfox, September 06, 2014, 08:32:06 PM

Previous topic - Next topic

Starfox

In this thread, I'll try to give some insight about some problems commonly encountered, starting with:

My rig is (very/extremely far) above the recommended requirement for (game). However I still have a choppy frame rate.

Two possible explanations:

A) You've been running the same session of Windows (Vista/Seven/Eight) for far too long (my personal longest session on Windows 7 was about a month with just sleep mode being used). Some games (especially older ones like Anachronox) absolutely hate that most notably if you have run a lot of programs. I discovered one day that Anachronox was running at 10 fps... In this case a reboot should fix the problem. In general that is the first thing you should try in case of very poor frame rate (or other problems) in a game that your computer should handle with ease and have handled with ease in other occasions. Problem there is that with Windows 7 the OS has become so stable that it's easy to forget about rebooting it (because a reboot takes much longer than a wake up from sleep mode) however a lot of programs (sadly a lot of games too) didn't learn in the same time to clean up their mess after running. That leaves the OS in conditions worsening every day with the memory and file system containing things that are of no use. Even though the computer still appears to run OK, some games may take offense.

B) Some games (recent ones like Dead Space 3, L.A. Noire or Murdered Soul Suspect) apply vSync (Vertical Synchronization) by default. vSync is good to avoid tearing on the screen when your computer is able to deliver a frame rate superior to that of your monitor (60 to 75 Hz -- or fps; same thing -- for most standard LCD panels). Specifically it tells your video card to skip some frames so the total fps does not go beyond what your monitor is able to handle (beyond the capabilities of your monitor, frames may be confused and your monitor may start to display two different frames at the same time hence an apparent tearing of the image especially during rapid horizontal movements). So vSync is normally a good thing for image quality, that is it would be if all games abode by the PC rules. Unfortunately, games such as those quoted previously were developed for consoles first and foremost which means that the vSync they apply is 30 fps (which is standard for TV screens). So your video card is still told to skip frames to accommodate your monitor but is given a value that is half of what your monitor is capable of. This result in what can be seen as a "choppy" behavior; more precisely the game behaves like if it was running on a rig not powerful enough to allow it to run well, this resulting of conflicting values.

The obvious solution is to turn off vSync as more often than not those console ports don't offer you the choice to input your desired frame rate. Except for L.A. Noire which don't even offer you the choice to deactivate vSync at all (even by manually editing files or with your video card driver). In this particular game they needed a fixed frame rate of 30 to achieve what they wanted with the faces of the actors and to hell with the other consequences.

So you might say, we have to deal with tearing to not have a choppy game. That depends; in Murdered Soul Suspect and Dead Space 3 (and also 2) turning off vSync doesn't make tears suddenly appear all over the screen. On my new rig I have MSS running at 120 fps and DS3 at 200-250 fps with no visible tearing (or barely noticeable one) and very smoothly. Of course your mileage may vary depending on your video card, drivers, monitor and game. But yeah, with such games you'll have to make a choice between choppy frame rate or tearing (in my opinion even a little tearing is preferable to a game that seems to be affected by the digital equivalent of a hiccup). Maybe at some point developers will realize that a computer monitor is not equal to a TV set.


Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world. -- A. Einstein

Starfox

#1
F.E.A.R., F.E.A.R. Extraction Point, F.E.A.R Perseus Mandate and Condemned Criminal Origins: extremely poor framerate.

It's always raging to have a modern rig and to see a shitty framerate in old titles that should run more than smoothly considering that the rig specifications are light years above the recommended specs. The titles mentioned above are like that. The solution is far from obvious. A bit delirious even.

Symptoms: either the framerate stay locked in a very low range (below 10 fps) from the start or it starts OK then gets horrible after a few minutes of gameplay (or even just sitting doing nothing).

OS affected: Windows7, 8, 8.1 but was also reported on XP most notably when using a Logitech mouse and/or keyboard (but may also happen with other brands).

Reason: the version of the littech engine from Monolith used for all these games has an input device pooling rate method conflicting with the one used by your USB mouse/keyboard drivers emulated device (HID)

Solution: Open the Device manager, find the entry "Human Interface Device", click on the plus sign to see the sub-entries. For each entry reading "HID-compliant Device" perform a right-click and click on "Disable". Important note: DO NOT disable any other entry or you might disable you keyboard and/or mouse entirely. Other note: this action will disable any additional buttons on your mouse and keyboard as well as display functions (such as those of the LCD display on some Logitech keyboard or other USB device).  You'll have to enable all the "HID-compliant Device" again to recover those additional functions of your USB devices. It's sad but unless the games code is changed (and that will probably never happen now), this is the only work-around available.


Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world. -- A. Einstein

Starfox

Various non Unicode games: languages are not changeable in-game or via ini files. Language always revert to your system language...

That happened because some developers wants to simplify users life, not thinking that some user might want to have a game in a language different that this of Windows and simply forcing the language of the user's OS no matter what the user wants. Non Unicode games includes, but are not limited to, Tales Of The Borderlands, The Wolf Among Us...

The solution below is a system-wide setting change for all non Unicode programs whether they are a game or a program. The solution is given for Windows 11 but can be applied to Windows 10 as well.

a) Right-click on Start, choose Settings (or System settings)
b) On the left list in the dialog that appears, choose "Time and Language"
c) On the right list click on "Language and Region"
d) On the page that appears click on "Administrative Language Settings"
e) A Dialog will be displayed with two fields; in the second field labeled "Language for non Uicode applications" click on "Modify Regional Settings"
f) In the new box displayed, select the language you want your non Unicode games to use instead of your system language. Click "OK".
g) Reboot Windows for the change to take effect.

All your non Unicode language games should use the language you selected from now on.


Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world. -- A. Einstein