Ashes of the Singularity can used up to 16 Threads with 1 Thread per Core!

Yakk

Supreme [H]ardness
Joined
Nov 5, 2010
Messages
5,810
I know we've been reading about all the great pioneering work the Oxide Developers have been doing with DX12, asynchronous cores and Multi-Adapter code.

But I was impressed when I read this straight from the developers on STEAM :

Mellified Man [developer] 2 hours ago
Ashes of the Singularity currently tries to use up to 16 threads with 1 thread per core. From your screenshot this looks to be working as intended.

Screenshot he is referring to :

AvLhq6g.png



So, not only is AOTS and the Nitrous Game Engine they are also developing at the forefront of DX12 development, they are coding their game with an AWESOME level of Multi-Threading too! :):D:):D

They can utilize up to 16 cores effectively, with what looks like great load balancing! This I thought was a feature nobody talked about yet, but is right up there with the rest of the great work they are doing.
 
Here is my 5960X w/ SLI 980Tis while playing, seems to do a good job. I was in DX12 mode also.

UvJatpR.png
 
It's unfortunate all of those CPU resources in use don't result in visuals to back it up.
 
It's unfortunate all of those CPU resources in use don't result in visuals to back it up.
Why would they? The CPU does little to assist in graphics. The CPU feeds the graphics cards data, but the CPU's don't actually render the scene on the screen.

What you said is the equivalent of expecting a GPU to coordinate the data being shuffled around the system bus.
 
Why would they? The CPU does little to assist in graphics. The CPU feeds the graphics cards data, but the CPU's don't actually render the scene on the screen.

What you said is the equivalent of expecting a GPU to coordinate the data being shuffled around the system bus.

How much feeding is needed that it takes up 50% CPU on 16 cores? That looks inefficient as hell, not impressive. It's a top down strategy game, not a CFD simulator.
 
Last edited:
How much feeding is needed that it takes up 50% CPU on 16 cores? That looks inefficient as hell, not impressive. It's a top down strategy game, not a CFD simulator.
You just proved my point. The CPU does next to nothing to enhance the graphics and there really isn't anything that will change that. DX12 can help spread the load of feeding multiple GPU's data, but in the end there isn't much graphic data to feed the GPU's in the first place. The game isn't using 16 threads to feed GPU's. It might be using 4-8 threads to do that while the rest are running other things like enemy AI, game events, audio, etc. Thus what you were expecting is similar to expecting all that extra GPU power not being used to be doing something else like shuffling data around in RAM.

As far as it being inefficient, that's another story. They showed off a 16 core CPU barely 50% loaded. Just because the game has 16 threads doesn't mean the computer has to have 16 cores. Games have had multiple threads for over a decade now, just most of them were simple and processed quick enough for 1 CPU core to handle multiple threads in a row extremely quick. What that means for AOTS is that you could likely run this game just as well with a really fast octo core and see next to zero performance difference when comparing it to this monstrous 16 core Xeon that was tested.
 
Last edited:
If you just want different art then you can ask for mod support and reskin the game yourself. As a little more shading here, there... etc...

I'd say the goal is for very little of those CPU threads to be used for graphics themselves. Plenty of other work to do. What is inefficient is stuffing 1 or 2 threads, bottlenecking information and having the CPU build a queue for the GPU to work through, slowly.

So far I'd say a big the reason the CPU usage is so very well distributed is that where the GPU is concerned, those threads can be executed out of order and fed to the GPU as soon as they are ready. Releasing the CPU to do the next operation and that is where a proper GPU asynchronous scheduler comes in and feeds the GPU within the next, or at most, a couple cycles later instead of queuing up the information 20+ cycles deep keeping the CPU artificially busy and wasting resources in the process.
 
Tried out the benchmarks for DX11 vs DX12 in this...I think they have more work to do.

DX11 (1 GPU, I guess SLI is not supported...?): ~27 FPS average

DX12 (2 GPU): ~33 FPS average

(This is on 1440p "Crazy" settings BTW)

Cool thing about multi-GPU DX12 is that you can use entirely different GPUs.

BUT...the scaling isn't even as good as normal SLI. Cool game, though. Graphically pretty impressive for an RTS IMO.
 
Last edited:
  • Like
Reactions: atom
like this
Back
Top