Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Topic on Talk:Far Cry 2

A new fix for splash screen crash issue

15
208.127.19.23 (talkcontribs)

Hi, I had Far Cry 2 crashing for me right after displaying the splash screen. This happened with all the versions I could get my hands on (Steam, GOG, repacks with different mods integrated etc.). I've tried all the fixes listed here or on the first 2 pages in Google but with no luck. Even tested with two PCs (laptop and a desktop) with different GPUs (GeForce and Radeon).

Eventually I noticed FC2 works when located on another SSD disk. I have a WD SN850 and WD SN570 pairs in both laptop and desktop, but it worked with an Intel SSD. After testing different combinations I came to the following conclusion: 1) some SSD supports selecting a sector size when secure erasing, WD included 2) I had all my WD drives secure erased with 4kB sector size, instead of the default 512b 3) Intel drive doesn't offer an option to choose the sector size and it's 512 in all cases 4) FC2 fails to load when located on a drive secure erased (formatted) to use 4kB sectors. 5) FC2 works fine after secure erasing the same disk with 512b sectors.

Sector size can be checked in Windows with the following command: fsutil fsinfo sectorinfo c: then check the first line: LogicalBytesPerSector : 512 is fine LogicalBytesPerSector : 4096 is not

I got the consistent behavior switching disks between the PCs and even connecting the disk via USB-NVME adapter and the conclusion is the same - FC2 doesn't work with 4kB logical sectors.

Patrxgt (talkcontribs)

Isn't that normal for some older games? Besides, who uses this much bits per sector?

Pawelm8 (talkcontribs)

[please delete]

Pawelm8 (talkcontribs)

It's OP here. I've registered the account.

Pawelm8 (talkcontribs)

4kB for both physical and logical sectors may produce some performance improvements, although not that big in regular home usage. Here is some discussion on that: techpowerup . com/forums/threads/setting-4k-sector-size-on-nvme-ssds-does-performance-actually-change.289757/ 4k native mode (as it is called) is considered more future oriented.

Option to choose 512b or 4096b sector size is available in Asus motherboard BIOS Secure Erase tool (likely others too) and I'm quite sure there might be a few people who will pick 4k instead of 512b.

I'm not sure if it's normal. Once I found what the issue was I tried reverse searching for that and couldn't find any report on older games or software not working with 4k native mode. It's also happening for me for the first time and I can say I surely have some collection of old games.

If you google for "far cry 2 splash screen crash" you will find some people reporting moving the game between disks fixed the issue for them. They assume this is because the game needs to be located on the same drive as the My Documents folder, but I couldn't confirm that (for me the My Documents folder location didn't matter at all) and what I suspect is they unknowingly moved the game to a 512b disk from a 4k native one.

Deton24 (talkcontribs)

Nice find. I've added the fix to the FC2 wiki.

Hammerfist (talkcontribs)

a year later, but have you tried using DXVK?

Deton24 (talkcontribs)

Using DXVK on Windows is extremely problematic for this game. Also, DX10 still doesn't work (it reverts to DX9 on launch - you can check it by different options in menu and greyout options in benchmark app). Till DXVK 2.2. it was enough to place also d3d10_1.dll from dxvk 1.10.2, while keeping d3d9.dll and d3d10core.dll from 2.2 and don't copy dxgi.dll, but since DXVK 2.3 they made some changes for FC2, and since then, I think renaming d3d11 to dxgi and dxgi to d3d11 was necessary, but I would need to recheck.

Hammerfist (talkcontribs)

I haven't tested it with DX10 but you should avoid playing the game with DX10 to begin with IMO. DX9 is the better API for this game, so I recommend sticking to it. It's simply more stable and much less buggy, and DX10 has the tip of the yellow grass foliage missing for some reason.

Deton24 (talkcontribs)

Still, it's worth to mention that on some ancient CPUs, DX10 behaves better than DX9, and even than DXVK 2.2 in crowded areas (but maybe not 2.3), e.g. in Pala, and also during vast shoot-outs. I think it's most noticeable with "Eliminate one-frame latency" fix I'd rather recommend to use (even on old Quads).

Hammerfist (talkcontribs)

Yeah DXVK is not recommendable on ancient hardware, but I always assume we're talking about hardware that came out in the last 5 years of so.

Deton24 (talkcontribs)

After all, DXVK is a translation layer, so you must be prepared for FPS drops even on decent hardware. It's simply a matter of specific game and hardware scenario if there's any benefit from using DXVK. And it's not always the fault of old 4/4 or 2/4 CPUs if there's none. Such units can also benefit from using DXVK in specific scenarios, just maybe less often. Also, e.g. Pascal GPUs have more CPU overhead in Vulkan vs Polaris GPUs.

Hammerfist (talkcontribs)

Not necessarily, DXVK on DX9 games tends to give performance boosts 99% of the time. With DX10 and 11 it varies. It's not really a matter of the specific game but the API, DXVK is reliably better than DX9.

Deton24 (talkcontribs)

Possible. From other examples - in NFSMW 2005 wasn't any better with regular DXVK, although it was on 2021 version from September. GTA IV had excellent performance increase even for most people.

Maybe the whole Far Cry series is just very unlucky. Usually, Far Cry titles were games with the most multithreading issues, and it always strongly relied on single core performance (less in FC6 now), and in FC5 it was worse too vs OG DX11, but with even older DXVK version.
I tested both Far Cry 2 and Far Cry 3 in DX9 mode, and even on AMD GPUs, which are known for worse DX9 driver than on NVIDIA, it was still worse using DXVK. No matter if I used async, gpl-async, or regular DXVK (although GPL flag shouldn't be used in most cases on e.g. Polaris and older, as it can cause crashes due to broken Async Compute on these GPUs; here it wasn't the case, maybe due to DX9).

Mirh (talkcontribs)

Translation layers have no inherent overhead. D3D9 is also ironically gimped to hell and beyond in later W10.

Back in topic, it's nice that a presumed culprit was found.. but good grief, it's hard to believe sector size is involved. Like, normal applications and games should be 100% transparent to it.