@BluRayHiDef said:
I've had the game since last Friday and notice that while the game looks amazing, it often dips into the mid twenties during battles. Why is this? Is the PS4 not powerful enough to run the game at a constant 30 FPS? How can we expect titles to look better and run better in the future if it can't handle a game released in its first year? Keep in mind that there isn't much room for optimization since the PS4 is structured like a PC and is subsequently quite easy to code for. What gives?
PC has a sizeable room for software optimization e.g. AMD Mantle vs MS DirectX11.2 for just the runtime optimizations.
Another example, read http://timothylottes.blogspot.com.au/2013/08/notes-on-amd-gcn-isa.html
Changing Materials the GCN Way
DX and GL are years behind in API design compared to what is possible on GCN. For instance there is no need for the CPU to do any binding for a traditional material system with unique shaders/textures/samplers/buffers associated with geometry. Going to the metal on GCN, it would be trivial to pass a 32-bit index from the vertex shader to the pixel shader, then use the 32-bit index and S_BUFFER_LOAD_DWORDX16 to get constants, samplers, textures, buffers, and shaders associated with the material. Do a S_SETPC to branch to the proper shader.
This kind of system would use a set of uber-shaders grouped by material shader register usage. So all objects sharing a given uber-shader can get drawn in say one draw call (draw as many views as you have GPU perf for). No need for traditional vertex attributes either, again just one S_SETPC branch in the vertex shader and manually fetch what is needed from buffers or textures.
Log in to comment