computerbaseAshes of the Singularity Beta1 DirectX 12 Benchmarks

Page 52 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Dygaza

Member
Oct 16, 2015
176
34
101
On a single athlon 5350? (game only has 4 threads)
Yeah love to see that.

Where are you getting this story from? My I7-3770k has almost 100% peak usage over all 8 threads (highest registered overall usage 99% for whole cpu by ab) at 1080p high. and I'm being cpu capped by those settings in some scenes. Game uses threads very well.
 

Spjut

Senior member
Apr 9, 2011
931
160
106
As for DX11 Context Lists,

Dan Baker was the first one to use multi-threaded context listing and deferred rendering in CIV V. Nowadays, pretty much every new title makes use of it under DX11.

Do you have any source for that?

We've had multiple studios that have said the context lists simply aren't working well for their use cases. Dice said so when creating Battlefield 3 (Frostbite 2) and maintained its position when creating Battlefield 4 (Frostbite 3 engine).
Far Cry 3 supposedly supports it but it's disabled by default (and according to users who have activated it manually, the game became unstable)
 

airfathaaaaa

Senior member
Feb 12, 2016
692
12
81
Where are you getting this story from? My I7-3770k has almost 100% peak usage over all 8 threads (highest registered overall usage 99% for whole cpu by ab) at 1080p high. and I'm being cpu capped by those settings in some scenes. Game uses threads very well.
you have an nvidia card?
 

TheELF

Diamond Member
Dec 22, 2012
4,027
753
126
Where are you getting this story from? My I7-3770k has almost 100% peak usage over all 8 threads (highest registered overall usage 99% for whole cpu by ab) at 1080p high. and I'm being cpu capped by those settings in some scenes. Game uses threads very well.
You only have 4 real cores,ab shows cores not threads,it shows you the usage of the core for the hyper thread "core".
 

airfathaaaaa

Senior member
Feb 12, 2016
692
12
81
No I got Fury X
and it hammers all the threads? thats odd i saw such a behaviour on my 260x which ok its expected
on nano i dont see such a thing it might add some workload on some heavy scenes for some seconds but thats it i cant really understand if i have done something on the settings o_O
 

TheELF

Diamond Member
Dec 22, 2012
4,027
753
126
This old post is still very valid, and debunks poor scaling across multiple cores quite well.

https://forums.overclockers.co.uk/showpost.php?p=28453504&postcount=181

When the game still had cpu benchmark mode. How do you get 8C/16T cpu to run all "cores" at 100% with only 4 threads?

In real game you only see scaling to 6 and 8 core cpu's after you start hitting that ~fps average, which mean you need to run at lower settings.

Maybe the CPU benchmark did bench the CPU? (By running one thread for each core)
Run the bench with a program that can show threads and tell us how many threads it runs.
For me with a dual core it runs 4 threads and a forum member here also posted 4 threads on his i5.
XCwCUoc.png
 

xthetenth

Golden Member
Oct 14, 2014
1,800
529
106
Yeah, good luck with that, what kind of project is that? someone that wish to loose money? With about 20% improvements on some cards/resolutions, this feature does not add ANY value to the game, its not something to allow you to do other stuff, and you still need to keep the game playable for all, even under DX11, what is a MAYOR block.

You know what is a good feature? something that adds 20 to 40%+++ fps under DX11 for everyone well over 60fps, so you can take that and add more VALUE to your game by adding something extra you could not do previusly because you where against the wall.

This is a very basic concept, same reason of why DX11 Context Lists where never really used, who cares about 10-30% more fps on some nvidia cards? Its not something you can use for something else, same reason of why Mantle died, even the guys who "asked for it" jumped out the boat.

So first off, adding a 20% boost to some cards is somewhat worth it, and if you'd actually read the post you quoted, you're getting those cards, all AMD cards in the future, and also all NV cards once they start releasing a modern architecture. Not only are you getting that on this game, which is going to make it age very well (which helps when you try to sell DLC so you don't get issues like post-Entrenchment Sins of a Solar Empire, which really chugged in the lategame), but you're putting it into your engine. So that means that when you're making your next game after NV has an actually modern architecture, you've got that 20% for every single card. You really may as well spend that money early while your engine is still in development both because it's cheaper and also you get the advantages sooner.

Secondly you keep obsessing about some magical 20-40% gain that could be had under DX11. I'm honestly unsure if you're being willfully dense or just don't know better. If those gains existed, they've already been taken and used. Once you get to a certain point where the code's doing what it needs to in a reasonably optimized manner, the only way to increase performance on the program's end of things is to reduce the amount of work it needs to do. That either means lowering graphical quality or reducing overhead (this means moving to an optimized API).

Just remember, it's for a few cards now, and every card soon.

Cripes, if we listened to you we'd still be on DX9.
 

PPB

Golden Member
Jul 5, 2013
1,118
168
106
People keep hyping Command Lists even after high tier Game engine devs like Johan Andersson said that the feature is "fundamentally broken".

Thank god we are finally moving away from the unoptimized mess DX11-DX9 was. Not-quite-low-level APIs hopefully are here to stay :thumbsup:
 

Zodiark1593

Platinum Member
Oct 21, 2012
2,230
4
81
One thing I was curious about was Async being used for the lights from projectiles and other particles. I thought we could already do something like this efficiently with deferred shading for quite some time now?
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
People keep hyping Command Lists even after high tier Game engine devs like Johan Andersson said that the feature is "fundamentally broken".

Thank god we are finally moving away from the unoptimized mess DX11-DX9 was. Not-quite-low-level APIs hopefully are here to stay :thumbsup:

Just to provide some sources for about that:

http://www.dice.se/wp-content/uploads/2014/12/GDC11_DX11inBF3_Public.pdf

How we use it:
› DX11 deferred context per HW thread
› Renderer builds list of all draw calls we want to do for each
rendering ”layer” of the frame
› Split draw calls for each layer into chunks of ~256
› Dispatch chunks in parallel to the deferred contexts to generate
command lists
› Render to immediate context & execute command lists
› Profit! *
* but theory != practice

Still no performant drivers available for our use case 
› Have waited for 2 years and still are
› Big driver codebases takes time to refactor
› IHVs vs Microsoft quagmire
› Heavy driver threads collide with game threads
How it should work (an utopia?)
› Driver does not create any processing threads of its own
› Game submits workload in parallel to multiple deferred contexts
› Driver make sure almost all processing required happens on the
draw call on the deferred context
› Game dispatches command list on immediate context, driver does
absolute minimal work with it

And then what happened... they made Mantle with AMD to solve these issues.
 

Dygaza

Member
Oct 16, 2015
176
34
101
Maybe the CPU benchmark did bench the CPU? (By running one thread for each core)
Run the bench with a program that can show threads and tell us how many threads it runs.
For me with a dual core it runs 4 threads and a forum member here also posted 4 threads on his i5.
XCwCUoc.png

Here is my shot on ashes with I7. I see 8 threads.

threads_zpsndlmi9nf.png
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
Maybe the CPU benchmark did bench the CPU? (By running one thread for each core)
Run the bench with a program that can show threads and tell us how many threads it runs.
For me with a dual core it runs 4 threads and a forum member here also posted 4 threads on his i5.
XCwCUoc.png

4 threads on a 4 core machine... whats wrong with that exactly?
 

TheELF

Diamond Member
Dec 22, 2012
4,027
753
126
4 threads on a 4 core machine... whats wrong with that exactly?

Nothing at all,it's just that nobody had posted a pic actually showing more than 4 threads before,core usage is a bit iffy.
Now I've seen it does use more threads than that.
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
Nothing at all,it's just that nobody had posted a pic actually showing more than 4 threads before,core usage is a bit iffy.
Now I've seen it does use more threads than that.

People have posted a lot of pictures with over 4 threads. You were stating the game only uses 4 as fact in your previous posts.
 

Dygaza

Member
Oct 16, 2015
176
34
101
Nothing wrong, at being wrong, it happens. But the fact remains, the game scales very well along with cores. It's hard to know how far you can actually push it, if you would have gpu that could run it fast enough. Would want to see 8/16T running dual gpu with low settings :p