CPU Hyperthreading support?

Do you mean single-core performance? Because in multi-threaded performance there is a 50% boost of 4c/8t CPU. And ED:O does use more threads - I can see it in my task manager

EDO can use a lot of threads, but only a few have significant load and only one or two will typically be loaded enough to be limited in performance.

Being able to use a lot of threads is not the same as being able to use them well. No matter how many worker threads the client spawns there are major diminishing returns past 3c/6t or 4c/4t.
 
But you understand that in terms of core count i7 3770 is as twice as fast as mine and as twice as faster than minimum recommended specs proc? The question is will the game use these 4 more threads!
As a general point, the newer generation of chips upgrade many different aspects and also can include more instruction sets which newer games rely on for performance. It's not just about clock speed, or even processing benchmarks as I found out when comparing the processing speed of a chip that I thought also should work for VR use that ended up being the generation before the required instruction set became an on-chip feature. The numbers at cpubenchmark.net all told me it that it met the processing power needed, then I plugged my WMR headset into the machine and was informed that the chip was incompatible.

I'm not saying your chip won't work, or isn't going to be better than your older one, but it is a large oversight to discount the difference in chip generations when weighing up one's options when choosing an upgrade.
 
EDO can use a lot of threads, but only a few have significant load and only one or two will typically be loaded enough to be limited in performance.

Being able to use a lot of threads is not the same as being able to use them well. No matter how many worker threads the client spawns there are major diminishing returns past 3c/6t or 4c/4t.
If I understand you right, then you are talking about the fact that ED is very dependent on single (or double, triple) core performance. That should mean that a 4 core CPU with fast cores should be better in performance than a 4c/8t CPU that has slower cores. But why am I not experiencing something like 1-2-3 cores are at 100% load and the rest are loaded to a much lesser extent?
 
If I understand you right, then you are talking about the fact that ED is very dependent on single (or double, triple) core performance. That should mean that a 4 core CPU with fast cores should be better in performance than a 4c/8t CPU that has slower cores. But why am I not experiencing something like 1-2-3 cores are at 100% load and the rest are loaded to a much lesser extent?

The relevant threads have very transient load that will only be capture with a very short polling interval.


Some earlier observations I made before I understood how transient the CPU load was:
Source: https://youtu.be/TI-QmVKeGiE?t=670

You can see how little forcing the game into fewer cores hurts until below four.

With only four physical cores and no SMT, they should all look fairly heavily loaded in Task Manger or other 1000ms polling rate (unless the GPU is the limiting factor (in which case it will normally be pegged near 100% utilization), but even in this case the main CPU bottleneck will the performance of the main thread.

You'll probably see a bit of a performance uplift, going from 4c/4t to 4c/8t, all other things being equal, with a lot of AI around, but without more per-core performance a CPU bottleneck will persist until you jack up graphics settings to the point the GPU becomes the limiting factor in all scenarios.
 
The relevant threads have very transient load that will only be capture with a very short polling interval.


Some earlier observations I made before I understood how transient the CPU load was:
Source: https://youtu.be/TI-QmVKeGiE?t=670

You can see how little forcing the game into fewer cores hurts until below four.

With only four physical cores and no SMT, they should all look fairly heavily loaded in Task Manger or other 1000ms polling rate (unless the GPU is the limiting factor (in which case it will normally be pegged near 100% utilization), but even in this case the main CPU bottleneck will the performance of the main thread.

You'll probably see a bit of a performance uplift, going from 4c/4t to 4c/8t, all other things being equal, with a lot of AI around, but without more per-core performance a CPU bottleneck will persist until you jack up graphics settings to the point the GPU becomes the limiting factor in all scenarios.
I'm not sure I understand the technical details, so correct me if I am wrong. I just want to have a rought understanding. Is that how it works now?
1. The main process of the game (the one operating on CPU) is preparong the frame to be rendered. It is a short interval of time, after which the CPU is idle or has low load. The windows task manager does not show this peak of load since it averages the load at some big time interval, which is too large to see this peak.
2. The GPU renders the frame and waits for the next one. Since it waits, it is idle or has low load and we can see not 100% GPU load.
3. The main process starts again
...
So, in fact we need that peak of CPU load to be as short as possible in order to make the GPU wait less and render more frames? So it actually comes to the per-core CPU performance
 
I'm not sure I understand the technical details, so correct me if I am wrong. I just want to have a rought understanding. Is that how it works now?
1. The main process of the game (the one operating on CPU) is preparong the frame to be rendered. It is a short interval of time, after which the CPU is idle or has low load. The windows task manager does not show this peak of load since it averages the load at some big time interval, which is too large to see this peak.
2. The GPU renders the frame and waits for the next one. Since it waits, it is idle or has low load and we can see not 100% GPU load.
3. The main process starts again
...
So, in fact we need that peak of CPU load to be as short as possible in order to make the GPU wait less and render more frames? So it actually comes to the per-core CPU performance

More or less, yes.
 
There is a file in the EDO directory called "AppConfig.xml".

It contains the following lines.

<Threads
RenderThreadStackSize="1048576"
WorkerThreadStackSize="1048576"
NumWorkerThreads="6"
RenderJobQueueSize="10240"
KernelJobQueueSize="10240"
MinSpareCores="0"
OptimiseForPerformance="1"
UseThreadPriorities="0"
PerformanceScaling="1"
/>

I was wondering if I could increase those values in yellow to improve rendering performance, since I have a processor capable of 12Cores/24Threads?
 
Back
Top Bottom