SUBSTANCE ENGINE

While that may be true, the more interesting question is why, it should be relatively straight forward for any cross platform dev to run a set of tests and determine that.
My guess would be some overhead from the hypervisor, or possibly some weird timing quirk with the bus.

In terms of compiler optimizations, the MS compiler is not particularly stellar, it does some things well, but others not so much.
Optimizing for modern processors is hard, and in some cases less that obvious, I recently saw a case where calling a function to increment a memory resident variable was faster than just incrementing it in line because the write is attempted speculatively by the processor which fails and has to be rescheduled the function call gives enough dead time for the write to succeed, so doesn't have the overhead of the reschedule and so runs faster.
 
There is a question of how old is this data. Apparently, the substance engine has been available for the Xbox One since May 22, which could mean early dev kits were involved. And the engine has been available on the PS4 for a longer time than the XB1.

http://www.awn.com/news/allegorithmic-s-substance-engine-now-available-xbox-one


Good observation

Hhmmm...

Or it could simply be that it was run on an X1 devkit that wasn't upclocked.

As the guy said, this wasn't run for a cpu analysis.
 
my sentence on compiler is to rule out compiler from equation.
MS compiler's optimization are surely better than anything else, just because... well, they do it sine 20 years and they did learn how to optimize C code in x86 pretty well nowadays.

That's some pretty poor reasoning, IMO. If you have some particularly strong evidence proving that Microsoft's compiler generally produces faster-performing code on Jaguar, then you should provide it.
 
...hmmm officially? I dont recall anything officially said by Sony about the link between "NB" and the CPU.

my sentence on compiler is to rule out compiler from equation.
MS compiler's optimization are surely better than anything else, just because... well, they do it sine 20 years and they did learn how to optimize C code in x86 pretty well nowadays.

Imho the only difference you may have, are:

1) PS4 CPU clock >> XBone clock: very unlikely, due to TDP waste to go beyond 1.75Ghz
2) XBone Hypervisor/OS remapping cores/threads like on Intel CPUs (not respecting 4+4 clustering of L2).
3) XBone Hypervisor kicking in many times due to some strange memory allocation scheme; unlikley... hopefully for them.
4) PS4 CPU can take advantage of GDDR5 superior speed.

You forget the most probable cause: number of cores that games can use. 7 or 7.5 cores available for games with the PS4 versus 6 for X1 would easily explain the difference in the Substance test.

We have a hint with Battlefield 4 which has been announced taking advantage of 8 cores when I am sure on PC 8 cores are never available for games because one core (at least) must be reserved for the OS.
 
You forget the most probable cause: number of cores that games can use. 7 or 7.5 cores available for games with the PS4 versus 6 for X1 would easily explain the difference in the Substance test.

We have a hint with Battlefield 4 which has been announced taking advantage of 8 cores when I am sure on PC 8 cores are never available for games because one core (at least) must be reserved for the OS.

As far as I'm aware there is no specific core reservation for the OS on PC's. The OS simply uses as much or as little of the CPU as it requires. It's one of the advantages of not having a guaranteed performance level.
 
As far as I'm aware there is no specific core reservation for the OS on PC's. The OS simply uses as much or as little of the CPU as it requires. It's one of the advantages of not having a guaranteed performance level.
And one of the disadvantages is the OS can come along and take resources away causing stutters and framedrops in your game at random. The guaranteed service is an important part of the console experience which'll explain higher reservations that can be reduced over time.
 
Also depends on the Quality of the OS. With a mess like Vista that even slows itself down you would have to disable all the stuff you don`t want manually.
 
And one of the disadvantages is the OS can come along and take resources away causing stutters and framedrops in your game at random. The guaranteed service is an important part of the console experience which'll explain higher reservations that can be reduced over time.

That's true but I'm just pointing out its not a win/win whichever option you go with - one has the potential for the OS to interfere with game performance and the other has the potential to waste CPU performance when the OS isn't using it.

That said, is it possible to manually reserve threads in Windows for specific tasks?
 
That said, is it possible to manually reserve threads in Windows for specific tasks?
If by threads you mean a logical processor then I'm fairly sure that the Windows kernel does not support this. If you need guaranteed access to a processor right now then you can set your process thread priority class to REALTIME and it's priority level to TIME_CRITICAL and Windows will do the rest, including sidelining anything else with a lower priority.

However games generally do not run at higher [than NORMAL] priorities on Windows.
 
You forget the most probable cause: number of cores that games can use. 7 or 7.5 cores available for games with the PS4 versus 6 for X1 would easily explain the difference in the Substance test.

We have a hint with Battlefield 4 which has been announced taking advantage of 8 cores when I am sure on PC 8 cores are never available for games because one core (at least) must be reserved for the OS.

I'm wondering why the simplest explanation is also being overlooked as well?! It's makes more sense for the PS4 not to reserve any Jag-cores. Given PS4 GPU specs, it would be somewhat odd to limit its potential by being CPU bound by imposed limits of core reservations. PS4 OS is pretty much PSP/Vita/SonySmartTV with glossier lipstick on, IMHO. I'm not saying the OS doesn't reserve any time slices, or a small percentage across 1 or 2 cores... but a full 2 reserved for OS needs seems somewhat ridiculous in the PS4 case.

I'm more inclined to believe the OS is primarily being handled by the ARM processor, only needing the Jaguar assistance for more meatier task, like game/socialApp interactions.

There have been two vetted Devs, who mentioned that the PS4 CPU has more potential to work with - that doesn't sound like a compiler/mem-timing thing... that sounds like more hardware (CPU in this case) is available to use. But I'm making assumptions, and I hate assumptions, so I will wait until Sony or a PS4 Developer officially states "whats going on".
 
If by threads you mean a logical processor then I'm fairly sure that the Windows kernel does not support this. If you need guaranteed access to a processor right now then you can set your process thread priority class to REALTIME and it's priority level to TIME_CRITICAL and Windows will do the rest, including sidelining anything else with a lower priority.

However games generally do not run at higher [than NORMAL] priorities on Windows.

offtopic but you can change cpu affinity to all the running process and set cpu affinity to your thread to the cpu not used by other procecess
 
Back
Top