ethomaz said:
http://msdn.microsoft.com/en-us/library/cc615011(v=bts.10).aspx "The source of the bottleneck could be hardware or software related. When resources are underused, it is usually an indication of a bottleneck. Bottlenecks can be caused by hardware limitations, by inefficient software configurations, or by both." I'm trying to say to you the hardware limitation is not already related to bottlenecks... hardware limitation can cause bottleneck? It can... but every hardware limitation cause bottleneck? No... in most cases the bottleneck is software. You are just confusing everything... reach 100% of a component is not a bottleneck... it is a limitation and that limitation can cause or not a bottleneck. All examples you gave us is software bottleneck... the developer choose to make a software that not use all the hardware at 100%... the hardware have no issue or bottleneck. The PS4 hardware is balanced at point no component is strong enough to other to create a hardware bottleneck but software bottleneck will always exists. That what they the Gerrilha's guy is trying to say. A better example... you can stress the PS4 GPU without any other component create a bottleneck for it... you can stress the PS4 CPU withou any other component create a bottleneck for it... you can use all the 176GB/s bandwidth of the RAM without any other component create a bottleneck for it. You can't stress the Wii U GPU only with the 12GB/s bandwidth of the RAM... it is a hardware bottleneck... you need to use the eDRAM to try to avoid that bottleneck. Better now? |
Of course you can, you just need to do many shader ops per pixel. That way you use all your flops without using all your bandwidth.
What you call hardware bottlenecks means that you don't have enough hardware performance for the algorithm you want to do. Software bottlenecks in this MS article refers to lock states as pipeline bubbles due to needing one op result to do the next operation or database locks, they have nothing to do with bad programming. Sometimes your only option is to wait.







