Results 1 to 10 of 64

Hybrid View

  1. #1
    Player
    Valence's Avatar
    Join Date
    Oct 2018
    Posts
    4,794
    Character
    Sunie Dakwhil
    World
    Twintania
    Main Class
    Machinist Lv 100
    I don't see what the cpu should have to do with computing and displaying triangles, textures and shaders tbh.
    (0)

  2. #2
    Player
    Larirawiel's Avatar
    Join Date
    Feb 2019
    Location
    Aldrassil
    Posts
    2,550
    Character
    Larirawiel Caennalys
    World
    Shiva
    Main Class
    White Mage Lv 100
    Quote Originally Posted by Valence View Post
    I don't see what the cpu should have to do with computing and displaying triangles, textures and shaders tbh.
    It is so: every polygon consists of three or more points in space. Those points have coordinates. The CPU generates those polygon coordinates and sends them to the GPU. The GPU reads those coordinates and draws them on the screen. More polygons means more coordinates have to be generated and this is what creates pressure on the CPU. And yes, there are many optimizations for it. Things like static geometry can be optimized away to a great extent. And with methods like tesselation or displacement mapping you can use the GPU for creating additional polygons inside of a low-polygon-model etc. Character models however are not static because they move. If you apply things like tesselation on them then it can have very weird looking effects like wrong collision effects, huge clipping errors etc.

    You can try it be yourself. Just visit a nightclub in FF14. It can easily halve your FPS when many players are inside the building.


    Cheers
    (5)

  3. #3
    Player
    Valence's Avatar
    Join Date
    Oct 2018
    Posts
    4,794
    Character
    Sunie Dakwhil
    World
    Twintania
    Main Class
    Machinist Lv 100
    Quote Originally Posted by Larirawiel View Post
    It is so: every polygon consists of three or more points in space. Those points have coordinates. The CPU generates those polygon coordinates and sends them to the GPU. The GPU reads those coordinates and draws them on the screen. More polygons means more coordinates have to be generated and this is what creates pressure on the CPU. And yes, there are many optimizations for it. Things like static geometry can be optimized away to a great extent. And with methods like tesselation or displacement mapping you can use the GPU for creating additional polygons inside of a low-polygon-model etc. Character models however are not static because they move. If you apply things like tesselation on them then it can have very weird looking effects like wrong collision effects, huge clipping errors etc.

    You can try it be yourself. Just visit a nightclub in FF14. It can easily halve your FPS when many players are inside the building.


    Cheers
    It's not about trying it oneself. I can see how the game handles it badly. I can see how my FPS has skyrocketed everywhere but stayed the same in crowded places after upgrading my GPU, proving that the CPU is a bottleneck in those places.

    If you're generating triangle coordinates instead of character coordinates with your CPU, you're doing it wrong.

    Cheers.
    (2)

  4. #4
    Player
    Katsuragi_'s Avatar
    Join Date
    Jun 2017
    Posts
    88
    Character
    Katsuragi Leonhart
    World
    Zodiark
    Main Class
    Gunbreaker Lv 90
    Quote Originally Posted by Valence View Post
    It's not about trying it oneself. I can see how the game handles it badly. I can see how my FPS has skyrocketed everywhere but stayed the same in crowded places after upgrading my GPU, proving that the CPU is a bottleneck in those places.

    If you're generating triangle coordinates instead of character coordinates with your CPU, you're doing it wrong.

    Cheers.
    ???

    That's a perfectly normal graphics pipeline. You can argue that after being given the data to work on, the GPU's load can and most of the time is very much higher than the bit that the CPU does of generating and giving the GPU the data, but it is nonetheless first of all generated and transformed (as and if required) by the CPU.
    (2)
    Last edited by Katsuragi_; 04-19-2024 at 09:08 PM.
    "A cringe man will always think he's based, but a based man is truthful to his cringe self."
    - Lao Tzu

  5. #5
    Player
    Valence's Avatar
    Join Date
    Oct 2018
    Posts
    4,794
    Character
    Sunie Dakwhil
    World
    Twintania
    Main Class
    Machinist Lv 100
    Quote Originally Posted by Valence View Post
    It's not about trying it oneself. I can see how the game handles it badly. I can see how my FPS has skyrocketed everywhere but stayed the same in crowded places after upgrading my GPU, proving that the CPU is a bottleneck in those places.

    If you're generating triangle coordinates instead of character coordinates with your CPU, you're doing it wrong.

    Cheers.
    I actually did more tests out of curiosity myself. It's not even the CPU bottlenecking anything.

    1) The CPU stayed at the exact same activity ratio between an empty room (housing), outside in a housing ward (mists), on a random map (ultima thule, east shroud, mor dhona), and in Limsa or Gridania full of people.
    2) GPU at max (with no framerate cap set in the options) in every area, but suddenly dropping at 65ish % in Limsa, Gridania and Uldah, but nowhere else.
    3) FPS at 100-150 depending on the area for obvious reasons, dropping at 55-60 in Limsa, Uldah and Gridania.

    -> No CPU bottleneck anywhere. The GPU is suddenly dropping in activity in the 3 starting cities because the FPS drops and caps around 60 for no reason I can see. It's actually interesting, I don't know what causes this. (edit: it seems tied to the player count/amount in those 3 cities I tried, the more people the more the FPS drops, the less the GPU has to work, and the CPU remains at the exact same values... it feels like an arbitrary dampener of some kind)
    (0)
    Last edited by Valence; 04-20-2024 at 12:25 AM.

  6. #6
    Player
    JaellaArwana's Avatar
    Join Date
    Feb 2012
    Posts
    19
    Character
    Skye Tigress
    World
    Sargatanas
    Main Class
    Dancer Lv 90
    Sorry to go off topic here a lil' bit just felt I should respond to this.


    Quote Originally Posted by Valence View Post
    I actually did more tests out of curiosity myself. It's not even the CPU bottlenecking anything......

    It is most likely a CPU bottleneck in the engine somewhere. GPU/CPU usage/utilization doesn't tell the whole story.

    In the charts below you'll see lots of data. What you should focus on is the GPU/CPU Busy/Frame Time Graph, and The GPU/CPU Wait time graphs.
    - GPU and CPU BUSY time both measure how much time each resource is currently taking to render the current frame.
    - GPU and CPU WAIT time measure how much time each resource is idling during the current frame, waiting on instructions.
    - Frame Time is the measurement for how long it takes to render a frame

    The First image is taken from me sitting outside my house. As you can see GPU busy pretty much matches the Frame-time, while CPU BUSY is slightly faster than each frame. This implies a Slight GPU Bottleneck. Higher frame rates tend to start running into a CPU bottleneck.



    The Second Image is taken from Limsa Lominsa Plaza, with lots of players around. As you can see CPU Busy takes over twice as long as the previous scenario and Frame times are almost fairly close behind. GPU Busy shows that the GPU is taking significantly less time to do its rendering work on the current frame than the CPU. When you look at CPU/GPU wait you can see that the GPU is idling for a significant portion of the Frame Time waiting for instructions. My CPU utilization remains fairly close to what it was while sitting outside my house. This implies a Heavy CPU or Other System Bottleneck .



    I can only speculate as to why this happens as I don't have access to the proper tools to analyze the engine at a deeper level. I'm going to guess that some of it has to do with just how old the engine is and that older versions of a lot of gaming/rendering APIs were not good about handling a lot of data being passed between the CPU,GPU, Storage and the Network. They would have to rework the client back-end to alleviate this at this point.

    ANYWAYS...back to the topic at hand. Sorry to have interrupted the flow of the low/poly body convo.
    (6)

  7. #7
    Player
    Aco505's Avatar
    Join Date
    Dec 2021
    Posts
    898
    Character
    Aco Nale
    World
    Moogle
    Main Class
    Dragoon Lv 100
    Quote Originally Posted by JaellaArwana View Post
    Sorry to have interrupted the flow of the low/poly body convo.
    Please don't worry about it! It's still related to the topic anyway and it's enlightening to see explanations on the issue and possible solutions as well. Hopefully the devs take this into account!
    (1)