Bottlenecking equation

Discussion in 'Videocards - AMD Radeon' started by @renadier, Jun 11, 2010.

  1. @renadier

    @renadier Master Guru

    Messages:
    500
    Likes Received:
    0
    GPU:
    2X AMD R280X @ 1072/1250
    hello guru's,
    there has been a lot of talk about bottlenecking.i do not understand anything about the internal working's of a pc.i do know how to assemble one and image it and so on,but i have a question for anyone that dose understand them.

    my question is what is the mathmatical sum to find out if you machine is bottlenecking please?

    yours,
    Mr Grenadier Perforations
     
  2. IPlayNaked

    IPlayNaked Banned

    Messages:
    6,555
    Likes Received:
    0
    GPU:
    XFire 7950 1200/1850
    There's no mathmatical stuff to do it, no, lol, would be cool if there were.

    But you need to understand bottlenecking is usually overstated and always dependent on the game/application you are running.

    Some games and/or applications depend entirely on the CPU, some the GPU, some RAM amount.

    Basically, you will always have a bottleneck, if you didn't, you'd have infinite performance. You just need to find the speed of the component you're most comfortable with bottlenecking.
     
  3. mitzi76

    mitzi76 Guest

    Messages:
    8,738
    Likes Received:
    33
    GPU:
    MSI 970 (Gaming)
    Well i know in your case you have a bottleneck. Not much but i'd hazard a guess and say 5-15fps. Perhaps more.

    That's comparing to say a corei7 at 4ghz.

    So far i found a 5870 plus intel core i7's or similar 3.8ghz or so and you can pretty much safely say no bottleneck. (well marginal).

    Am sure i might be corrected on this but when you dont see any fps gain by overclocking your cpu you have eliminated any bottlenecking.
     
    Last edited: Jun 12, 2010
  4. scheherazade

    scheherazade Ancient Guru

    Messages:
    2,050
    Likes Received:
    0
    GPU:
    fullHDs
    Everything takes time.


    For example :

    Game loop, running on CPU.
    Rendering a frame, in GPU.


    If one game loop iteration takes 2ms.
    And then rendering what you see takes 3ms.
    Then you take 5ms to get output per logical cycle.

    1000ms in a second
    1000ms / 5ms = 200
    So that would run at 200 fps.



    Bottlenecking can be simplified as a drastic imbalance in how long things take.

    If logic takes 9ms
    And rendering takes 1ms
    Even if your GPU was infinitely fast, you'd still be waiting 9ms on the CPU
    Hence, any GPU upgrade is a waste, because you're CPU bottlenecked
    A CPU upgrade is the only thing that makes sense

    If logic takes 1ms
    And rendering takes 9ms
    Even if your CPU was infinitely fast, you'd still be waiting 9ms on the GPU
    Hence, and CPU upgrade is a waste, because you're GPU bottlenecked
    A GPU upgrade is the only thing that makes sense

    If logic takes 5ms
    And rendering takes 5ms
    Things are in balance, and you're not bottlenecked
    Upgrading either CPU or GPU will improve performance.



    Ultimately, it's a "shades of grey" issue.

    18ms logic + 2ms rendering, that's definitely CPU bound.

    But what about, 12ms logic, and 8ms rendering...
    That's a harder call to make.
    Arguably, you could still upgrade either CPU or GPU and have good results.
    Upgrading one may give you better results than the other, but... does it matter...

    The more things are out of balance, the more it's obvious what you need to upgrade.


    Even when imbalanced, you'll always get *something* out of the upgrade.
    The issue is that you could have spent that money on a different part, and gotten a bigger boost out of it.


    To get actual numbers, you'll need a debugging tool of some sorts, or you'll need the game engine to tell you how much time is spent in between game logic loops iterations, an how much time is spent inside a pass through the video pipeline.

    -scheherazade
     
    Last edited: Jun 12, 2010

  5. ScaryClown

    ScaryClown Guest

    Messages:
    686
    Likes Received:
    0
    GPU:
    3090 Zotac
    I have never heard anyone explain it better!
    :thumbup:
     
  6. naike

    naike Ancient Guru

    Messages:
    2,020
    Likes Received:
    0
    GPU:
    Asus EAH5870
    indeed
     
  7. NemesisT103

    NemesisT103 Master Guru

    Messages:
    303
    Likes Received:
    0
    GPU:
    XFX Ati HD 5850
    Things are a lot more clear now, that is a good explanation, thanks a lot!
     
  8. F1refly

    F1refly Ancient Guru

    Messages:
    9,037
    Likes Received:
    0
    GPU:
    970GTX-oc edition
    But wouldnt different game engines show different time resistances?
    and is there such a debugging tool available?
     
  9. @renadier

    @renadier Master Guru

    Messages:
    500
    Likes Received:
    0
    GPU:
    2X AMD R280X @ 1072/1250
    thats a good explaination,thank you,are there any tools to read these scores to compaire please?
     
  10. IPlayNaked

    IPlayNaked Banned

    Messages:
    6,555
    Likes Received:
    0
    GPU:
    XFire 7950 1200/1850
    Not only would different engines show different results, but different parts of different engines would give different results.

    The best you can do is feel for it and guess.
     

  11. scheherazade

    scheherazade Ancient Guru

    Messages:
    2,050
    Likes Received:
    0
    GPU:
    fullHDs
    A simple test is :

    For any given game and scenario :

    Reduce your graphics settings by a modest amount across the board

    (i.e. lower rez by a notch, lower texture resolution by a notch, lower post processing effects by a notch, etc)

    You should normally get a modest improvement in FPS.

    If FPS improves by a modest amount, your can upgrade CPU or GPU.
    If FPS hardly changes, your next upgrade is a CPU.
    If FPS rockets up, your next upgrade is a GPU.

    It's not scientific, but if you try this test a few times in a few applications, you'll get a feel for what games need more of what, and on average, where you're lacking most.

    -scheherazade
     
  12. asingh

    asingh Master Guru

    Messages:
    226
    Likes Received:
    0
    GPU:
    Powercolor 4890 (X-Fire)
    Would this logic work:
    If the GPU is at able to get 100% load, and the CPU is less or equal to 100% load, we do not have bottle neck, cause the CPU is working quick enough to supply the GPU enough data.
     
  13. @renadier

    @renadier Master Guru

    Messages:
    500
    Likes Received:
    0
    GPU:
    2X AMD R280X @ 1072/1250
    hello again,
    thanks scheherazade.i think you have solved a puzzle thats bugging a lot of people.
    yours,
    Mr Grenadier Perforations
     
  14. scheherazade

    scheherazade Ancient Guru

    Messages:
    2,050
    Likes Received:
    0
    GPU:
    fullHDs
    100% means that it's having trouble keeping up.
    Ideally, nothing should hit 100% for a given fixed frame rate.

    Processors are never really partially used.
    They're either operating on something or not operating on anything.
    % figures are over a time period.

    If it was operating for half of the cycles in a second, it's considered 50% used.

    But if you look at it 4 times over 250 millisecond intervals, you might find : 100%, 0% 100%, 0%.

    Lower % used figures generally mean that it took less cycles to complete things, and the processor was "waiting for more work" more often than not.

    Why this is important is because, while the cpu is at 100% on operation A, it can't start on operation B.

    So you want it to be as close to 0% as often as possible, so when a new operation comes along, it can get on it immediately.

    Over large evaluation intervals, the desired situation would appear as low cpu usage.

    Note : This is the situation when you want low latency. Throughput would be looking for more % used, because throughput just measures amount of work done over a period with no regard for how long any item waited.



    What does this all mean?
    It means don't use 100% processor usage as a metric.
    It could mean good things (getting lots of your stuff done), or bad things (your stuff is waiting more often than it should).
    Instead, use how responsive things are.

    We're talking about games here, so more often than not, the 'feeling' is what matters.

    -scheherazade
     
    Last edited: Jun 12, 2010
  15. Lane

    Lane Guest

    Messages:
    6,361
    Likes Received:
    3
    GPU:
    2x HD7970 - EK Waterblock
    Hardly with actual games, outside the problem of multithreading and multi cpu cores, all depend the zone, and type of engine, the amount of load can vary subtantially from a part or another.... don't forget you have too the HDD, the ram, the bus speed.... best example will maybe be with a console port... they ask more to the gpu's in general of the CPU, just cause they have been coded like this ...

    You can addition the games have been codded with feet and the information and the data are not treated like they should be... overloading the processors for nothing ..
     
    Last edited: Jun 12, 2010

  16. Knutselmaaster

    Knutselmaaster Active Member

    Messages:
    76
    Likes Received:
    0
    GPU:
    AMD6870 xfire
    Your explanation is really good, but I don't really agree with this frase:
    If your system is in balance, changing one of the two would create a bottleneck, and either way it wouldn't give much performance increase, because the other component would be holding it back.
    Your whole statement is saying that in fact...
    If you got a nicely balanced system you shouldn't upgrade anything, and if you want more performance you need to upgrade everything by the same "amount".

    Still, props on your response, it is really well explained.
     
  17. asingh

    asingh Master Guru

    Messages:
    226
    Likes Received:
    0
    GPU:
    Powercolor 4890 (X-Fire)
    Scheherezade, Lane, Knutselmaaster -- nice explanation. Thanks.
     
  18. Jonnyboy

    Jonnyboy Guest

    Messages:
    3,598
    Likes Received:
    9
    GPU:
    EVGA SC GTX 1070
    my msi r5770 hawk 1gb always runs at 99% and cpu always under 90% with games unless I have v sync enabled, so does that mean my gpu is bottle necking??
     
  19. scheherazade

    scheherazade Ancient Guru

    Messages:
    2,050
    Likes Received:
    0
    GPU:
    fullHDs
    A bottleneck is not when things are out of balance.

    A bottleneck is when things are so out of balance that one item is so much faster than the other, that no matter how much faster you make it, your performance is unchanged.

    In between "perfect balance" and "bottlenecked", there's a lot of room to upgrade either part.

    This was the key point :


    Many people can't afford to do a totally new system every upgrade.
    There's nothing wrong with being imbalanced.
    It's actually a good long term policy when alternating upgrades between CPU and GPU.

    I.E.
    - Buy fast CPU that is in excess of what you need for your GPU today
    Later
    - Buy a fast GPU, that's in excess of what you need for your CPU today

    (Because last time you bought an extra powerful CPU, you get more out of your current GPU upgrade.)


    'Fear of bottlenecking' makes people buy smaller upgrades more frequently.
    That wastes a lot of cash.

    When you divide "the money spent on an upgrade", over "the % increase over what you already have", small upgrades cost a LOT of money "per % performance increase".

    Compound that with people doing them more frequently (because they're out of date sooner), and that's a lot of cash wasted.


    Read my 'upgrade value' posts on page 1 of this thread : http://forums.guru3d.com/showthread.php?t=323022

    -scheherazade
     
    Last edited: Jun 14, 2010
  20. Knutselmaaster

    Knutselmaaster Active Member

    Messages:
    76
    Likes Received:
    0
    GPU:
    AMD6870 xfire
    Yea read that and loved it!

    After thinking over this topic today i also thought of the following; if you got overhead in the graphics part than you've got some room to raise your graphics settings (resolution/aa/af), if you got overhead in the cpu part it will allow you to run some programs in the background while playing (like music, downloads etc)
    Either one can be a personal choice for everyone.

    Plus not all games are balanced the same way, some use more cpu power and some use more gpu power.
    Only benchmarks add the two up to a final result but what can one do with benchmarks other than check stability and see the influence of a specific overclock/replacement...
     

Share This Page