CPU- versus GPU-bottleneckcalculator
Gebruik CPU- en GPU-frametijden die in dezelfde herhaalbare scène, met dezelfde instellingen en testmethode zijn vastgelegd. Alleen het gebruikspercentage kan een bottleneck niet bewijzen. Deze tool heeft geen database met hardwarenamen en geeft geen aankoop- of upgradeadvies.
Benchmarkcontext beschrijven
Labels zijn optioneel. Voer geen accountnamen, serienummers of vertrouwelijke projectinformatie in.
Waarden in de directe weergave worden op de server verwerkt. Waarden uit het stappenproces, inclusief optionele labels, worden in de pagina-URL en browsergeschiedenis geplaatst zodat elke stap ze kan herstellen. Voer geen vertrouwelijke namen of informatie over de belasting in.
Gebruik deze bottleneckcalculator om gemeten CPU- en GPU-frametijden uit dezelfde gamescène te vergelijken. De calculator schat voor beide kanten de bovengrens van de framerate, wijst de tragere kant alleen aan als het verschil groter is dan uw tolerantie en legt uit waarom één opname geen universeel bottleneckpercentage voor elke game of instelling kan opleveren.
Een CPU- of GPU-bottleneck analyseren
-
1
Neem één herhaalbare scène op
Gebruik een ingebouwde benchmark, replay of vaste route met dezelfde resolutie, grafische instellingen, framelimiet en VSync-status. Laat de game op temperatuur komen voordat u de opname start.
-
2
Voer de CPU-frametijd in
Neem de CPU-tijd per frame in milliseconden over uit uw profiler of prestatieopname. Gebruik een representatieve waarde uit het gekozen testvenster.
-
3
Voer de GPU-frametijd in
Neem de bijbehorende GPU-tijd over uit dezelfde scène en hetzelfde opnamevenster. Combineer geen resultaten uit verschillende tests, voorinstellingen of resoluties.
-
4
Stel een tolerantie in en interpreteer het resultaat
Door de tolerantie gelden kleine verschillen als evenwichtig, omdat normale variatie tussen tests een nipt resultaat kan omkeren. Herhaal de opname voordat u handelt op basis van een marginaal verschil.
Frametijd is een nuttig uitgangspunt
Het aantal frames per seconde is het omgekeerde van de frametijd. Wanneer de tijd in milliseconden wordt gemeten:
bovengrens framerate = 1000 / frametijd in ms
De tragere gemeten fase bepaalt de bovengrens van de vereenvoudigde verwerkingsketen:
geschatte bovengrens = 1000 / max(CPU-frametijd, GPU-frametijd)
Dit is een diagnostische schatting, geen belofte dat de game frames met exact die frequentie zal weergeven. Framelimieten, synchronisatie, wachtrijen, werk van de engine, laadprocessen, planning door het besturingssysteem en presentatie op het scherm kunnen allemaal invloed hebben op de waargenomen FPS. Microsoft definieert in zijn richtlijnen voor DirectX-profilering de CPU-tijd en GPU-tijd per frame afzonderlijk, omdat beide kanten het beschikbare tijdsbudget per frame kunnen overschrijden.
| Beoogde framerate | Tijdsbudget per frame |
|---|---|
| 30 FPS | 33,33 ms |
| 60 FPS | 16,67 ms |
| 120 FPS | 8,33 ms |
| 144 FPS | 6,94 ms |
| 240 FPS | 4,17 ms |
De omzetting 1000 / ms geeft een bovengrens voor de gemeten fase. Een CPU-tijd van 12 ms komt bijvoorbeeld overeen met ongeveer 83,33 FPS, terwijl een GPU-tijd van 7 ms overeenkomt met ongeveer 142,86 FPS. In deze opname is de CPU-kant trager en ligt de vereenvoudigde bovengrens rond 83,33 FPS.
Waarom de tolerantie belangrijk is
Bij frametijden die dicht bij elkaar liggen, past geen schijnzekerheid. Deze calculator vergelijkt het absolute verschil met de frametijd van de tragere kant:
relatief verschil = |CPU ms - GPU ms| / max(CPU ms, GPU ms) × 100
Valt dat verschil binnen de gekozen tolerantie, dan is het resultaat voor deze opname evenwichtig of onbepaald. Overschrijdt het de tolerantie, dan is de kant met de langere frametijd op dit moment de beperkende factor.
| CPU-tijd | GPU-tijd | Relatief verschil | Resultaat bij 5% tolerantie |
|---|---|---|---|
| 12,0 ms | 7,0 ms | 41,67% | Beperking aan CPU-kant |
| 6,0 ms | 10,0 ms | 40,00% | Beperking aan GPU-kant |
| 8,0 ms | 8,3 ms | 3,61% | Evenwichtig of te klein verschil voor een oordeel |
Dit percentage beschrijft de afstand tussen twee tijdmetingen binnen één belasting. Het is niet het percentage van de CPU of GPU dat wordt verspild en voorspelt evenmin de prestatiewinst van een hardwarewijziging.
Maak de opname reproduceerbaar
Voor een bruikbare vergelijking moet de belasting stabiel blijven. Gebruik steeds dezelfde:
- versie van de game en engine;
- savegame, replay, benchmarkreeks of vaste bewegingsroute;
- resolutie, renderschaal, kwaliteitsinstelling en grafische API;
- framelimiet, VSync-status en status van dynamische resolutie;
- stuurprogramma-instellingen, energiemodus en achtergrondbelasting;
- opwarmperiode en opnameduur.
Voer de test meerdere keren uit en vergelijk representatieve statistieken in plaats van op één korte steekproef te vertrouwen. De CPU-prestatierichtlijnen van AMD adviseren om variabelen zoals de testscène en willekeurige seed vast te zetten. In de Unreal Engine-richtlijnen wordt ook voorgesteld om de resolutie als diagnose te wijzigen: als een veel hogere renderresolutie de prestaties nauwelijks verandert, is dat een aanwijzing die nader onderzoek naar een CPU-beperking in die belasting rechtvaardigt. Het blijft echter een aanwijzing, geen universeel oordeel.
Waarom gebruikspercentages geen bewijs zijn
Gebruikspercentages kunnen een diagnose ondersteunen, maar bewijzen op zichzelf niets. Het totale CPU-gebruik kan bescheiden lijken terwijl één hoofd- of renderthread volledig wordt belast. Een laag GPU-gebruik kan worden veroorzaakt door een framelimiet, wachten op de CPU, synchronisatie of te weinig ingediend werk. Een hoog GPU-gebruik laat zien dat het apparaat bezig was; het wijst niet de precieze kostbare verwerkingsstap aan en voorspelt evenmin het resultaat van een upgrade.
Hulpmiddelen voor tijdmetingen bieden meer context. Intel PresentMon registreert frame- en GPU-telemetrie, NVIDIA Nsight toont CPU- en GPU-frameduren en bereiken van GPU-belasting, en AMD Radeon GPU Profiler visualiseert wachtrijtijden en perioden waarin de GPU niet actief is. Zelfs drempelwaarden van profilers zijn vuistregels: de classificatie van Radeon GPU Profiler voor een CPU-gebonden situatie gebruikt een instelbare drempelwaarde voor GPU-inactiviteit, niet een wet die voor elke engine geldt.
Wat 1%-lowwaarden wel en niet vertellen
Een 1%-low vat de trage staart van een frametijdverdeling samen en helpt daardoor onregelmatige framelevering te herkennen die een gemiddelde kan verbergen. De waarde onthult niet of de CPU, GPU, het streamen van assets, shadercompilatie, geheugendruk of een andere onderbreking die trage frames heeft veroorzaakt.
Ook de definities verschillen. Sommige rapporten leiden een framerate af uit het 99e percentiel van de frametijd (1000 / p99-frametijd), terwijl andere het gemiddelde nemen van de traagste 1% van de FPS-metingen. NVIDIA Nsight Systems definieert de framelengte van het 99e percentiel als de waarde waarboven slechts 1% van de frames uitkomt. Noteer bij het vergelijken van resultaten het gebruikte hulpmiddel en de definitie, en gebruik een 1%-lowwaarde niet in plaats van bij elkaar horende CPU- en GPU-frametijden.
Waarom universele bottleneckpercentages misleidend zijn
Een computer heeft niet één blijvende verhouding tussen een CPU- en GPU-bottleneck. Het beperkende werk kan veranderen door de game, scène, resolutie, instellingen, engineversie, het stuurprogramma, de framelimiet en de beoogde framerate. Een drukke stadsscène kan simulatie en het indienen van tekenopdrachten zwaar belasten, terwijl een andere scène op een hogere renderschaal meer tijd van de GPU kan vragen.
Calculators die alleen modelnamen gebruiken, kunnen die omstandigheden niet waarnemen. Een resultaat zoals ‘23% bottleneck’ zonder gemeten tijdwaarden uit dezelfde scène heeft geen vaste technische betekenis. Gebruik deze calculator om de opname te beschrijven die u daadwerkelijk hebt gemaakt, herhaal de test onder de belasting die voor u belangrijk is en gebruik een tijdlijnprofiler wanneer u de specifieke oorzaak wilt vinden.
Officiële technische bronnen
- Microsoft: DirectX-toepassingen profileren
- Intel: prestatiemonitoring met PresentMon
- NVIDIA: framestatus in Nsight Systems
- NVIDIA: GPU Trace in Nsight Graphics
- AMD GPUOpen: overzicht van Radeon GPU Profiler
- AMD GPUOpen: prestatierichtlijnen voor Unreal Engine
- AMD GPUOpen: prestatierichtlijnen voor Ryzen-CPU
Veelgestelde vragen
Voer de CPU-tijd per frame en GPU-tijd per frame in milliseconden in uit dezelfde profileropname en scène. Voer geen totale gebruikspercentages, geadverteerde kloksnelheden, benchmarkscores of tijdmetingen met verschillende instellingen in.
Nee. Het betekent dat de gemeten CPU-frametijd in deze opname meer dan de gekozen tolerantie langer was dan de GPU-frametijd. Een framelimiet, game-instellingen, achtergrondwerk, één kostbare thread of de scène zelf kan het resultaat veranderen. Profileer de belasting voordat u een bredere conclusie trekt.
Vijf procent is een praktisch uitgangspunt om een duidelijk verschil van een nipt resultaat te onderscheiden, maar is geen universele norm. Gebruik een ruimere tolerantie wanneer herhaalde tests meer variëren en vergelijk meerdere opnamen voordat u een marginaal verschil classificeert.
Nee. Deze waarden vatten verschillende delen van de geleverde frameprestaties samen en zijn geen CPU- en GPU-tijdmetingen. Gebruik bij elkaar horende metingen in CPU-ms en GPU-ms. Houd gemiddelde FPS en 1%-lowwaarden apart als context voor doorvoer en gelijkmatigheid van de frametijden.
De resolutie en renderschaal veranderen het GPU-werk doorgaans directer dan simulatie of het indienen van werk door de CPU. Een verhoging kan de langere frametijd naar de GPU verschuiven; een verlaging kan bij hogere framerates een beperking aan de CPU-kant blootleggen. Het nieuwe resultaat beschrijft de nieuwe belasting en is geen tegenspraak.
Gerelateerde tools
Afrondingscalculator
Rond exacte decimalen af van 12 cijfers achter de komma tot biljoenen. Vergelijk half-even, van nul af, plafond, vloer en vier andere regels.
Machtcalculator
Bereken grondtal verheven tot elke gehele, decimale, negatieve of fractionele macht. Volle precisie en wetenschappelijke notatie voor zeer grote of zeer kleine resultaten.
Naamcompatibiliteitscalculator
Voer twee namen in en krijg een speelse compatibiliteitsscore plus het pythagorische numerologiegetal van elke naam. De tool leest alleen het Latijnse alfabet (A tot en met Z).
Baby percentiel berekenen
WHO-percentiel en z-score voor gewicht, lengte en hoofdomtrek van je baby naar leeftijd en geslacht, van 0 tot 24 maanden, met correctie voor vroeggeboorte.
Cirkelrokcalculator
Bereken taille- en zoomstralen voor kwart-, halve, driekwart- en hele cirkelrokken, inclusief draagruimte en naadtoeslagen.
Uren naar seconden omrekenen
Zet uren om naar seconden met de exacte factor 3.600. Accepteert de decimale komma en lokale cijfers en toont ook minuten en milliseconden.
Tool beschikbaar in andere talen
- Kalkulator Bottleneck CPU vs GPU [ID]
- Kalkulator wąskiego gardła CPU i GPU [PL]
- Kalkylator för flaskhals mellan CPU och GPU [SV]
- เครื่องคำนวณคอขวดระหว่าง CPU กับ GPU [TH]
- CPU-/GPU-Engpass-Rechner [DE]
- CPU・GPUボトルネック計算機 [JA]
- CPU와 GPU 병목 현상 계산기 [KO]
- Calculadora de cuello de botella entre CPU y GPU [ES]
- Calculadora de gargalo entre CPU e GPU [PT]
- Công cụ tính nghẽn cổ chai giữa CPU và GPU [VI]
- Calculateur de goulot d’étranglement CPU/GPU [FR]
- حاسبة عنق الزجاجة بين CPU وGPU [AR]
- CPU vs GPU Bottleneck Calculator [EN]
- Calcolatore del collo di bottiglia tra CPU e GPU [IT]
- Калькулятор узкого места CPU и GPU [RU]
- CPU ve GPU Darboğaz Hesaplayıcı [TR]
- CPU 与 GPU 瓶颈计算器 [ZH]