Pillars of Eternity II: Deadfire

Pillars of Eternity II: Deadfire

View Stats:
Kaldaien Jul 12, 2018 @ 6:23pm
2
[Special K] Fix for Inverse CPU Performance Scaling < Updated: 7/29/18 >
Intro
    I have determined one cause of extreme performance problems for systems with higher-end CPUs.
    The game spawns one worker thread per-CPU core (logical, not physical), and does not assign thread priority. This causes starvation and the result can be a very substantial decrease in framerate.
      My system goes from 24 FPS to over 100 at 4K after artificially decreasing my CPU's core count from 16 down to 3.

Download and Install
    Grab a specially prepared version of Special K from here[github.com]
      Extract the DLL and PDB (optional debug info) to your Pillars of Eternity 2 install directory

Configuration
  1. Press Ctrl + Shift + Backspace in-game, then expand the "Advanced" section of the Framerate Limiter settings.
  2. Enable "CPU Core Spoofing" and cut the number of CPU cores in half.
  3. Restart the game and test framerate
    • You may try reducing the number of cores even farther if framerate is stable.
    • Hitching may occur while panning the camera if core count is reduced too far.

Misc. Performance Advice
    If you are having GPU performance issues, Ambient Occlusion is the most poorly optimized graphical effect in the game. Dynamic Lights also have a modest impact on performance.
    These are the first things you should try turning off if using a lower-end GPU.


Suggested Optimized Settings

    The SwapChain settings shown above will disable sRGB gamma and give smoother windowed mode performance. On systems with G-Sync monitors, it also enables Unity to use G-Sync.
Last edited by Kaldaien; Jul 29, 2018 @ 5:21pm
< >
Showing 16-30 of 425 comments
Kaldaien Jul 13, 2018 @ 11:22pm 
That doesn't make a whole lot of sense to me... I'd never go over to their forums, I want support for my products in the store I bought them on. An extra account is a total nuisance, if I'm expected to do that, they should lower the price :P
Richard Harrow Jul 13, 2018 @ 11:44pm 
Sorry I misread the last post. I was referring to the relevant section on STEAM not the official one. I totally agree with you. They should be keeping an eye out here as well.
puppet74 Jul 14, 2018 @ 7:26am 
im sure they check here but not much. however they do post on the offical forums, they tend to read backers feedback more, plus backers have there badges there and stuff and tbh the community and discusion over there is alot better. so ofc they will check there more often, it is how it is.
Kaldaien Jul 14, 2018 @ 7:32am 
Yeah, I went ahead and took the lazy way out :) I pointed them to this thread. That way I still get notifications and don't have to remember to keep looking at a forum I'll never use again. Steam notifications are probably the only reason I'm loyal to Valve's little store at this point, they make this stuff so much easier to manage :P
Kaldaien Jul 14, 2018 @ 7:39am 
I'm a little surprised to see that this game uses Enlighten. That's what half of the threads that get turned off are for. I'm surprised because well, I don't know what purpose a global illumination lighting middleware has on a top-down isometric game like this.

It doesn't hlep performance though, that's for sure -- this is the very same Enlighten that Platinum used in NieR: Automata to make it run at < 30 FPS on high-end hardware :) It's also the same Enlighten that RiME uses. In those games, at least, you get some visible benefits for the performance loss cuased by Enlighten. Here? I can't honestly tell what it does and my area of expertise is rendering. It makes the game slower is all I can figure.
Fairna Jul 14, 2018 @ 3:30pm 
Thanks Kaldaien!
Briggs Jul 14, 2018 @ 3:48pm 
What's Enlighten? Middleware?
Aemony Jul 14, 2018 @ 3:55pm 
Originally posted by Krovoc:
What's Enlighten? Middleware?

Yup, middleware for global illumination of a 3D scene. The unoptimized use of it in NieR:Automata is what tanks performance the most in that game.

The end result is a much more naturally illuminated scene though.

https://www.siliconstudio.co.jp/middleware/enlighten/en/
Last edited by Aemony; Jul 14, 2018 @ 3:56pm
Kilay Jul 14, 2018 @ 4:32pm 
What's about texture management and his maximum cache size? What it do precisely?
acbatchelor Jul 14, 2018 @ 5:25pm 
Just want to point out that this doesn't work with the GOG version. No big deal for me since my performance is already good, but I was trying to see if it could get better.
Kilay Jul 15, 2018 @ 3:04am 
Originally posted by acbatchelor:
Just want to point out that this doesn't work with the GOG version. No big deal for me since my performance is already good, but I was trying to see if it could get better.

yes it hack only the steam_API.dll we need a GOG version that hack the Galaxy64.dll , i've already tried to change the strings in custom_dxgi.dll but without lucky (different APP ID and hack probably)
Kaldaien Jul 15, 2018 @ 4:47am 
Is it perhaps the game itself that is confused? My software automatically searches for any Steam DLLs a game ships with and boots them up. I've had both Steam and GOG's DRM libraries loaded in the same application before. It would be the game that's rejecting Galaxy, however, because Galaxy's DRM is just a drop-in replacement for Steam that doesn't actually do anything.

If it's the game that's confused, then you can turn off my Steam enhancements by setting Silent=true under [Steam.Log] in dxgi.ini
acbatchelor Jul 15, 2018 @ 6:29am 
I don't have a Steam DLL file in the installation directory. The game won't even start with Special K. Although, now that I think of it, that was when trying to start the game with Galaxy. It might be different if I try by just using the game's executable. I'll try that tonight.

By the way, a dev responded on the Obsidian forums. I'll just copy and paste what he said since you said you wouldn't be checking there.

"Interesting find! We don't typically spin up our own threads ourselves (they either come from Unity's internal job system or from third party software we've added). That being said, we'll definitely take a look at this when we're back in the office and investigate this further."
Briggs Jul 15, 2018 @ 7:04am 
Originally posted by acbatchelor:
I don't have a Steam DLL file in the installation directory. The game won't even start with Special K. Although, now that I think of it, that was when trying to start the game with Galaxy. It might be different if I try by just using the game's executable. I'll try that tonight.

By the way, a dev responded on the Obsidian forums. I'll just copy and paste what he said since you said you wouldn't be checking there.

"Interesting find! We don't typically spin up our own threads ourselves (they either come from Unity's internal job system or from third party software we've added). That being said, we'll definitely take a look at this when we're back in the office and investigate this further."
Good to see they are taking this seriously. Still wondering why I'm not affected, by the way. You know, with my six core i7.
acbatchelor Jul 15, 2018 @ 7:43am 
I have an i5 so maybe having only 4 threads keeps me from being affected. A lot of people that are complaining about performance have 1080s or 1080 tis so I'm assuming most of them have i7s with 8 or more threads.

I have no clue why you don't have the problem though. Technology is complex. There are hundreds or thousands of factors so maybe that's why.
Last edited by acbatchelor; Jul 15, 2018 @ 7:44am
< >
Showing 16-30 of 425 comments
Per page: 1530 50