In-game Benchmarks done by PCGamer (Crashes reported as well)

Zoeff

Chieftain
Joined
Aug 4, 2011
Messages
99
Location
Netherlands

Very interesting article. First time hearing of crashes and poor performance although the latter seems to be mainly because the ROG Ally is a handheld and doesn't have the same kind of power as a PC.

I'm leaving the exact FPS numbers and the GIFs out of this post to send some traffic their way.
 
With a difference of just under four seconds between a Core i7 9700K (an eight-core, eight-thread CPU that's nearly six years old) and a Ryzen 9 9900X (12 cores, 24 threads), the results clearly suggest that in a late-game situation, pretty much all PCs are going to grind through the processing at the same speed, with low-end systems being an exception to this (i.e. they're going to be especially slow).
:wallbash:
For that processor at least, it confirms that Civ 7 strongly favours out-right single core performance over anything else.
:shake:
 
From what little I know of software development, splitting the workload across multiple cores can be very tricky. This is why it's so rare even in 2025.

I wonder if this is why they left out larger map sizes for now
That was my thinking as well. Here's hoping there's more performance to gain from future optimizations. Or maybe it's possible a PC built in the past few years is powerful enough to just brute force it.
 
I wonder if this is why they left out larger map sizes for now

One of my fears for civ7, I've not forgotten what happened with YnAMP for civ6.

That was my thinking as well. Here's hoping there's more performance to gain from future optimizations. Or maybe it's possible a PC built in the past few years is powerful enough to just brute force it.

Performance is something that better hardware can compensate, but those 1% low means even the best PC will stutter (it was visible on map scrolling in the marketing videos, and I guess they used their very best for those)

Real problem is crashing, that's harder to "brute force" (for civ6 a GTX 980ti could run a full game on extremely large maps in 2016 version of the game, sizes that a RTX 4090 can't even load on the latest patches)

That said, they already told us they were looking to add larger map sizes down the line, so there is hope that even if it's not good at release it will get better.
 
Single core processing....? What year of my lord are we living in?

Perhaps the turn processing has to be done sequentially.
⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️
See this guys!

Multi-threading isn't magic. It doesn't solve every performance issue at the snap of a finger. Some things simply can't be done in multiple threads (or at least the performance gain would be minimal, and the possible issues would be really bad).
AI turn processing have always been one of the biggest causes of slowdowns in Civ games but that's not something you can easily split into multiple threads. AI would be far worse than it is if it was committing multiple attacks at the same time without seeing the result of the previous ones first (unless maybe if they completely eliminate the RNG effect on damage). You might say "then have multiple AIs take their turns at the same time like simultaneous turns in MP" but what if they are fighting each other? What if one thread finishes 1/1000 seconds after another and suddenly the target has moved away? What does the AI do with the unit it had already committed to the attack? Waste the turn, crash the game? What if 2 threads determine than 2 AIs finished the same wonder at the same time?
 
⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️
See this guys!

Multi-threading isn't magic. It doesn't solve every performance issue at the snap of a finger. Some things simply can't be done in multiple threads (or at least the performance gain would be minimal, and the possible issues would be really bad).
AI turn processing have always been one of the biggest causes of slowdowns in Civ games but that's not something you can easily split into multiple threads. AI would be far worse than it is if it was committing multiple attacks at the same time without seeing the result of the previous ones first (unless maybe if they completely eliminate the RNG effect on damage). You might say "then have multiple AIs take their turns at the same time like simultaneous turns in MP" but what if they are fighting each other? What if one thread finishes 1/1000 seconds after another and suddenly the target has moved away? What does the AI do with the unit it had already committed to the attack? Waste the turn, crash the game? What if 2 threads determine than 2 AIs finished the same wonder at the same time?

Civ does generally feel like it would be a hard game to get lots of benefits from threading. Even something as simple as going through each city, deciding what to build, and which tile to expand to, you realistically cannot thread that, because two cities might technically want to spread to the same tiles. Basically the boost you get from threading that, you lose in checks and locking to make sure nothing breaks.

The main parts of a civ game that you could thread would be if, say, each civ needed to re-evaluate their position to decide to switch to a more military more, or pursue a science path, and stuff like that. That you could probably do in parallel without too much trouble. Maybe you could do some pathfinding as well, but I would expect most AI units probably follow a very local decision making process for where to move to.
 
First time hearing of crashes and poor performance although the latter seems to be mainly because the ROG Ally is a handheld and doesn't have the same kind of power as a PC.
Marbozir also talked about dramatic performance drops on some screens. There seem to be very unoptimized pieces to patch.
 
Civ does generally feel like it would be a hard game to get lots of benefits from threading. Even something as simple as going through each city, deciding what to build, and which tile to expand to, you realistically cannot thread that, because two cities might technically want to spread to the same tiles. Basically the boost you get from threading that, you lose in checks and locking to make sure nothing breaks.
Exactly. In order to multi-thread units movements or turn processing, You'd need some sort of "overseer" thread continually monitoring the other threads to ensure no conflict, possibly pausing them if there's even the slightest risk of a conflict, and this thread would become the bottleneck and due to this thread it would appear that "Civ 7 strongly favours out-right single core performance over anything else". It might even be how the game is coded for all we know!
The main parts of a civ game that you could thread would be if, say, each civ needed to re-evaluate their position to decide to switch to a more military more, or pursue a science path, and stuff like that. That you could probably do in parallel without too much trouble. Maybe you could do some pathfinding as well, but I would expect most AI units probably follow a very local decision making process for where to move to.
Major strategic choices, yes, but i doubt it's the biggest bottleneck as it's probably not even evaluated every turn. Pathfinding would be hard to multi-thread if talking about multiple units, what if 2 units want to move to the same tile? Splitting individual unit's pathfinding into multiple threads might work like having one thread for each of the 6 directions a unit can move with each thread testing the possible outcomes of their original direction could work, but you'd still need one "master" thread to aggregate all the values and compare them so once again, "Civ 7 strongly favours out-right single core performance over anything else" because the master thread would be the one with the highest processor load.
Marbozir also talked about dramatic performance drops on some screens. There seem to be very unoptimized pieces to patch.
There's certainly a lot of optimization possible on FXS end but sometimes video card drivers also have faulty code which can cause slowdowns or even crashes of games with an otherwise perfectly clean code. And sometimes developers have to introduce workarounds which themselves cause issues with other cards or when the faulty drivers are finally fixed.
There was a case of a game literally frying some GPUs because the GPU driver didn't include any safety code to prevent over-calculations. The GPU developers estimated that no existing game was capable of putting that much stress on their brand new cards so they ignored that safety measure but a new game came out a few weeks later that did put their card under too much pressure and the game's developers who had developed on older cards with safety codes simply didn't imagine the manufacturer wouldn't include code to protect their cards in the driver :hammer2:But for all the reviews on the net, the game was faulty. People often forget that tons of different codes run on a modern computer and software (games or otherwise) developers don't have control over everything. When a game doesn't run properly on some specific hardware, it's not always the game's fault.
 
There was a case of a game literally frying some GPUs because the GPU driver didn't include any safety code to prevent over-calculations. The GPU developers estimated that no existing game was capable of putting that much stress on their brand new cards so they ignored that safety measure but a new game came out a few weeks later that did put their card under too much pressure and the game's developers who had developed on older cards with safety codes simply didn't imagine the manufacturer wouldn't include code to protect their cards in the driver :hammer2:But for all the reviews on the net, the game was faulty. People often forget that tons of different codes run on a modern computer and software (games or otherwise) developers don't have control over everything. When a game doesn't run properly on some specific hardware, it's not always the game's fault.
Very off-topic. Fault was already at HW level. OS level drivers have nothing to do with this. No HW should be able to fry itself with any software command.
 
What concerns me is how much Denuvo is affecting the performance.
There should be no concern. It has been shown that Denuvo calls seem to be made during times when users wouldn't notice even if it would have an impact. We also have many examples of games that had no improvement after Denuvo is removed. Finally, the requirements for this game are relatively low.
 
Denuvo can have an impact if it's not correctly implemented, that's why it was removed from Humankind, they hadn't enough time to do it right, which was one of my concern when Denuvo was announced: could Firaxis do it right ? Would they remove it if they can't ?

I'll test myself very soon, but if the reviews are correct and there is lag in UI and stutter when moving the map even on high end PC, one may wonder which part is simply bad optimization of the game itself, or bad implementation of Denuvo, or both.

Bad performance could also be from the changes in the engine from previous version, for the UI for example civ6 Lua was faster than civ5 Lua, and for civ7 there is some questions on which scripting langage is used, a leaked screen implied javascript for multiplatform development, which mean they've totally redone the UI (and kind of explain why it's so bad on PC)

We've no idea how the version used compare with civ6 Lua
 
Back
Top Bottom