Kan je cpu een bottleneck zijn ondanks het feit dat de totale load van de cpu 50% is, zonder dat er een core is die 100% load aangeeft in Windows taakbeheer?
Dit topic is afgesplitst van Cassius in "[PC] PLAYERUNKNOWN's Battlegrounds" omdat het een offtopic discussie was. Het is allemaal begonnen met de volgende comment:
Dit topic is afgesplitst van Cassius in "[PC] PLAYERUNKNOWN's Battlegrounds" omdat het een offtopic discussie was. Het is allemaal begonnen met de volgende comment:
Waar TS op reageerde:Cassius schreef op maandag 2 oktober 2017 @ 17:17:
Het menu is een enge ziekte, helaas - maar daarvan is rework confirmed zonder ETA helaas.
Als mensen het hebben over een niet goede "core" snap ik dat ook wel. Ik ben in de tijd van PUBG best veel van hardware geswitched, R280 naar GTX1060 naar GTX980Ti naar GTX1080. Iedere keer verwacht je een jump die vergelijkbaar is met de performance stijging van de GPU als de game deze goed kan benutten en de andere componenten (vooral CPU en RAM, storage wat minder) geen bottleneck vormen.
Echter zijn mijn FPS sinds de GTX1060 niet echt significant gestegen en kan ik als "end-user" die geen developer is geen bottlenecks herkennen. Ik zit ingame met 60% CPU (2700k @ 4,2GHz) usage (zonder dat een enkele thread/core ook maar ooit de 100% aantikt) en 50% GPU usage zonder dat daar het video memory vol zit, throttling optreedt of de 100% met spikes geraakt wordt. RAM (9/16 in gebruik) en SSD staan uit hun neus te eten.
Dit is natuurlijk zonder v-sync.
Nu start ik Overwacht op: 100% GPU (ja 300 fps onnodig, maar daar gaat het even niet om) en 60% CPU. Simpele bottleneck detectie. Start ik The Witcher 3 op, zelfde verhaal. Battlefield 4 (ik heb 1 niet), zelfde verhaal. Allemaal kennen ze een aanwijsbare CPU of GPU limit wat erg prettig is, want a) je hardware wordt ten volste benut tot waar het spel het toestaat en b) je kan als end-user redelijk gemakkelijk zien wat je extra performance zal brengen bij een upgrade.
Dus hier loopt iets in die zogenaamde "core" niet lekker door waardoor er echt nog tientallen procenten performance bij kan zonder dat end-users ook maar iets aan hun hardware hoeven te wijzigen. Dan kan je wel zeggen "daar moeten we het niet over hebben" ... maar het is wel iets waardoor PUBG voor een groep mensen compleet en voor een grotere groep mensen bij vlagen gewoon niet lekker aanvoelt.
Dat het in herhaling vallen is, prima - maar dit is een forum hè, we schrijven hier geen wetenschappelijke paper die peer reviews moet overleven waar het criteria is "nonstop nieuwe perfect inhoudelijke info". We zijn hier voor de gezelligheid.
En als tweaker kan ik nu wel zeggen ... met een stock 2500k en GTX1060 (waar het percentage benutting van hardware hoger was) speel je dit spel op low-medium bijna exact hetzelfde als een sterk overclockte 2600k met GTX1080. Wie weet heeft iemand daar iets aan als hij upgrades overweegt.
Waar andere personen op reageerde waaronderBennnie schreef op woensdag 4 oktober 2017 @ 13:35:
[...]
Dat er geen enkele thread de 100% aantikt betekend niet dat er geen bottleneck is. Start maar eens een cpu load programma met 1 thread en bekijk de load per core eens. De load van die ene thread zal verdeeld worden over 2 of meerdere cores. Daarnaast zie je dat de totale utilization wel stijgt zoals verwacht, bijvoorbeeld boven de 25% bij een processor met 4 threads als je een stressprogramma draait met 1 thread volledig belast. Windows verdeelt de last van een enkele thread over meerdere cores omdat 2 cores op 50% laten draaien meer energie efficiënter is dan 1 core op 100%.
60% belasting op een cpu met hyperthreading is eigenlijks al hoog, gezien er 50 van de 100% van de cpu load van de (relatief zeer zwakke)hyperthreaded cores zijn.
Cassius schreef op woensdag 4 oktober 2017 @ 13:55:
[...]
Stel at het OS de load kon verdelen van een singlethreaded applicatie, of een minder-dan-je-beschikbare-aantal-cores-threaded applicatie, dan is er toch alsnog geen CPU bottleneck, wat maakt het verdelen daarbinnen nu uit? Voorbeelden bij een logische non-HT dual-core om het simpel te houden:
1. Singlethreaded app, OS verdeelt belasting niet, 1 core is "0%" (wat systeemspul) belast en eentje 60%. Er is geen CPU bottleneck.
2. Singlethreaded app, OS verdeelt belasting, 1 core is 70% belast en de andere 40%. Er is geen CPU bottleneck.
3. Multithreaded app, 2 cores zijn 60% belast. Er is geen CPU bottleneck.
In welk scenario zeg jij is hier mogelijk wel een CPU bottleneck and please explain?