+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 15 of 17
Like Tree12Likes

  Click here to go to the first Rift Team post in this thread.   Thread: RIFT & Multicore - some graphs

  1. #1
    Rift Chaser
    Join Date
    Jul 2014
    Posts
    311

    Default RIFT & Multicore - some graphs

    Hi,

    So I would like to share some graphs. These graphs were generated using a Microsoft program called GPUView you can download in the Windows Performance Toolkit from Microsoft. It is a programmers tool designed to assist developers to tweak and fix performance problems in their graphical apps but anyone can run it. I decided to run it on RIFT.

    First up some specs of my machine:
    SPECS
    Windows 10 64Bit
    16GB of memory
    Intel Core i5 - 4670K
    AMD Radeon 7890 - 1680x1050
    All settings at max in RIFT video settings

    Standing in Margle Palace, pretty empty, not many people around.

    NOTE: UI was DISABLED

    SINGLE CORE


    So this graph might seem pretty confusing but it's not really.

    1. Vsync
    The blue vertical lines indicate vsync, They are good for timing. This graph shows 3 whole frames.

    2. Hardware Queue
    The first darker blue row is the Hardware Queue, this indicates how "busy" the graphics card is. Each rectangle block indicates a packet of data that the video card is rendering or otherwise computing. 2 rows indicate the card is working on item while another is waiting to be processed.

    The hashed block indicates a "present" packet, basically an application/windows asking the video card to display what it has onscreen.

    It's also interesting to note some of the hashes start and go "over" a vsync. This means that you'll lose a frame and get tearing because the frame couldn't be fully displayed in that flip (see the next section on flip queues).


    Note that any number of apps could be rendering data to the card at the same time RIFT is, especially if you run in Windowed mode (like I do), this queue represents TOTAL work submitted to the GPU.

    Gaps in this queue indicate the GPU was idle as it had no work!

    3. Flip Queue
    Doing smooth graphics requires something called buffer flipping.

    This queue indicates how long it took for the image to be sent to the screen and generally lines up with Vsync. Gaps indicate lower FPS and tearing (if vsync was off).
    In this graph there is a huge loss between two vsyncs.

    4. rift.exe - Device Context
    This is the amount of work RIFT is sending to the card.

    Items from this queue are moved to the hardware queue to render.

    Gaps in this queue indicate periods where RIFT was not sending anything to the card!

    Again, the hashed block indicates a "present" packet, indicating RIFT has finished and is asking the video card to display what it has onscreen.

    5. GPU Work
    The amount of work the GPU is doing. As you can see, the low points correspond to gaps in the Device Context and Hardware queue.

    6. Application threads.
    This picture isn't big enough to show all the threads, but the the lower 3 rows show actual thread usage.

    Conclusion
    As you can see, in single thread mode, RIFT is pretty clearly CPU bound, the graphics card is sitting idle for large amounts of time.

    It is also not shown here, but the CPU is actual idle most of this time as well. Only one core was not idle during the gaps.

    Not shown here, but if you were to zoom out, and look at the Flip Queue it shows that i'm getting about 4-5 frames good and then missing one. This shows that even though it is CPU bound, i'm still getting a pretty consistent FPS because most of the time, the renders are still fitting within a a single frame.

    MULTI-CORE

    You can clearly see 2 large changes. The Hardware Queue and the Device Context are almost devoid of gaps, this indicates the GPU is being utilized much more effectively.

    You can also see the hashed blocks are almost back to back, frames are being pushed out almost immediately once the last one is finished, compare to the SINGLE core where there was a large delay between present packets.

    And the flip queue is almost always full, a great sign showing frames are being rendered quickly!

    Not shown here, but the CPU is not idle most of this time as well, all 4 cores are used quite alot.

    Conclusion
    As you can see, in MULTICORE mode, RIFT is pretty close to being GPU bound on my machine and the CPU is pushing out so much data the the video card is having trouble keeping up.

    The FPS difference to Single core isn't that different, but it is alot more consistent and smooth.


    MULTI-CORE - Ojingeodon



    And finally a graph showing a fight against Ojingeodon. This was full UI enabled with spells and effects being thrown around.

    This graph is curious, as you can see, a HUGE amount of data being sent by RIFT, and the card barely keeping up. But you can also see small gaps in the GpuWork (right at the bottom).

    Also, notice the huge gaps between the vsync lines showing I'm losing every second frame, an indication i'm only getting about half the FPS!

    Not shown is the IDLE listing showing the CPU was mostly idle, again indicating again, RIFT is GPU bound.

    Overall Conclusion
    For me, multi-threaded rendering is a winner, but I think I need a faster video card

    ON THE OTHER HAND

    And then, contrary to everything above, and almost making a mockery of it, we have this:



    This graph was taken while in Margle palace. There are quite a few people around, but I had been alt-tabbed for a while.

    Huge gaps in rendering, not only is the GPU idliling, but RIFT itself is having trouble with rendering. FPS has tanked, and half the cores are IDLE.

    Multi-core is on, and no settings in RIFT have changed.

    I don't really know what to make of this. It could be driver or RIFT related, but it might be something the RIFT developers would want to look at.

    Looking at the thread usage of RIFT, it almost looks like it has reverted to single core!

    Addendum/edit:
    While I was attempting to replicate the last, I noticed someone move in front of me and teleport away and my FPS instantly jumped to 55! I'm going to keep an eye on this some more and see if I can pin it down.
    Last edited by Spikeles; 06-18-2016 at 01:22 AM.

  2. #2
    Rift Disciple Chillor's Avatar
    Join Date
    May 2011
    Posts
    180

    Default

    My head hurts.

  3. #3
    Telaran
    Join Date
    Oct 2011
    Posts
    59

    Default

    Very nice - thanks for all that data. Makes sense that with a new or fairly new CPU that the GPU's just wouldn't be able to keep up with what the CPU is pushing out..

    I'm running into the same issue, but I already knew it was my GPU that's holding me back with multicore enabled. (Data is yummy though.) You should hear the GPU fans spin up like a 747 turbine when I go to certain areas in Rift.

    Granted the game still runs decently smooth but I feel bad for the GPU's.

    Quick Specs below:
    Windows 10 64bit
    Core i7 970 - 6 Core 12 thread
    12GB RAM
    256GB SSD
    GTX 570 x2 (SLI)

    Time for an upgrade.... sometime in the next... year...? maybe? lol

  4.   Click here to go to the next Rift Team post in this thread.   #4
    Rift Team
    Join Date
    Jun 2014
    Posts
    677

    Default

    Yay data! Plus visualization! Love it.

    I can shed some light on what's going on at Margle Palace though: Margle Palace despite not always having a lot of people is very 'busy' graphically and requires a lot of 'culling'. Culling is when we take everything the game thinks it can see and gets rid of the things it can't see (because it's hidden behind other things for instance). This can be very expensive and Margle Palace is one spot where it's especially obvious.

    Unfortunately without culling Margle Palace would be even worse! A simple test on my local server indicates a drop from 30 fps to 7 fps with no NPCs present. However culling is something we're looking at and experimenting with. A bit over a week ago we pushed a change onto the PTS that will allow us to better optimize for culling, assuming it works as intended. So please go test it out and make sure things are working in a similar fashion as on live! In particular testing the changes in dimensions is rather important too.
    Last edited by Snedhepl; 06-17-2016 at 09:10 AM.

  5. #5
    Champion Zojah's Avatar
    Join Date
    Dec 2011
    Posts
    501

    Default

    Quote Originally Posted by Snedhepl View Post
    A bit over a week ago we pushed a change onto the PTS that will allow us to better optimize for culling, assuming it works as intended. So please go test it out and make sure things are working in a similar fashion as on live! In particular testing the changes in dimensions is rather important too.
    Woohoo!

    Should have made a bigger announcement for this.. more feedback :-)!

  6.   Click here to go to the next Rift Team post in this thread.   #6
    Rift Team
    Join Date
    Jun 2014
    Posts
    677

    Default

    Often times when you're making 'under the hood' changes to see how things work I find it's often a good idea to delay announcement: In particular this is good when the change should not cause any visible change to the user, a lack of uproar is, in itself, feedback.

    Quote Originally Posted by Qosmo View Post
    Woohoo!

    Should have made a bigger announcement for this.. more feedback :-)!

  7. #7
    Fia
    Fia is offline
    Champion of Telara Fia's Avatar
    Join Date
    Apr 2012
    Posts
    1,351

    Default

    I don't see any graphs, where are they? V:

    Edit: nvm, it's loading now. (:
    Last edited by Fia; 06-17-2016 at 11:34 AM.
    Fiia@Typhiria | Asthea@Hailol
    Cleric-Heal/Tank/DD | Lvl70

    Now with new Prime Content! -> http://youtube.com/astheatv


  8. #8
    Prophet of Telara MisterWibble's Avatar
    Join Date
    Mar 2011
    Posts
    1,109

    Default

    Quote Originally Posted by Spikeles View Post
    Hi,

    So I would like to share some graphs. These graphs were generated using a Microsoft program called GPUView you can download in the Windows Performance Toolkit from Microsoft. It is a programmers tool designed to assist developers to tweak and fix performance problems in their graphical apps but anyone can run it. I decided to run it on RIFT.
    Awesome. So glad you dug into this

  9. #9
    Telaran havenslight's Avatar
    Join Date
    Aug 2011
    Posts
    56

    Default Great information

    I like information like this because it brings to light some things the creators of games are thinking. I for one would like for my FPS to stay at 50 to 60 when going from standing in front of a boss to attacking the boss. My FPS takes a hard hit when the boss fight starts. Normally I go from 50 FPS to anywhere between 10 to 20 most of the time closer to 10 and I can figure it out. This happens with and without Multicore option on.
    Shhhh..... let the poison do it's work.
    Check out my Youtube page for quest videos and help video's. https://www.youtube.com/user/ldigfondzee
    Also check out my Steam on Twitch. http://www.twitch.tv/fondzee
    Twitter https://twitter.com/Ldig_Fondzee

  10.   Click here to go to the next Rift Team post in this thread.   #10
    Rift Team
    Join Date
    Jun 2014
    Posts
    677

    Default

    These are fundamentally different situations. Standing in front of the boss is relatively passive, very little is going on. Once the fight starts abilities start getting used, particle effects get loaded and processed, and so on.

    If anything were to happen in 'equalizing' those situations you'd instead find your FPS at 30-40 all the time instead of 50-60 sometimes and 30-40 sometimes.

    Quote Originally Posted by havenslight View Post
    I like information like this because it brings to light some things the creators of games are thinking. I for one would like for my FPS to stay at 50 to 60 when going from standing in front of a boss to attacking the boss. My FPS takes a hard hit when the boss fight starts. Normally I go from 50 FPS to anywhere between 10 to 20 most of the time closer to 10 and I can figure it out. This happens with and without Multicore option on.
    Last edited by Snedhepl; 06-17-2016 at 01:25 PM.

  11. #11
    General of Telara saviktkr's Avatar
    Join Date
    Feb 2011
    Posts
    906

    Default

    Margle Palace needs more sheep and less everything else. Or, just make all the NPCs into white tigers.
    Savik of Greybriar
    Guild Leader, TKagi Ro (Level 30)
    3/3 BoS

  12. #12
    Rift Chaser
    Join Date
    Jul 2014
    Posts
    311

    Default

    Those graphs were in Margle palace, but remember they only represent about 3-4 frames out of hundreds!!

    Also, while I was making at these graphs I identified some kind of issue where at certain times, the FPS halves/tanks for some reason, but then comes back. I believe that's represented by the last graph.

    I was able to reproduce this a couple of times by just running around and returning to the same position and I was able to trigger a restoration of FPS back to it's previous values by:
    a) waiting a short time, eg, 30 seconds
    b) sometimes doing a /reloadui ( both with and without disabled all addons! )

    I managed to record a video showing this effect, and I'll keep messing around and hopefully find a reproducible test case (and eliminate local issues) to submit to support.

  13. #13
    Plane Walker
    Join Date
    Feb 2014
    Posts
    450

    Default New Laptop

    Quote Originally Posted by Snedhepl View Post
    A bit over a week ago we pushed a change onto the PTS that will allow us to better optimize for culling, assuming it works as intended.

    Curious if this might help some of the horrid lag on some machines in HK?

    A week ago, I was out of town and had my laptop. Nothing phenomenal, but was really the first time I'd played Rift on it. It did pretty well and I was somewhat surprised first few days. Even managed to do an IGP HM and had no real issues except for horrible Hotel network. Did some WF's/NMR's/PTW bosses without any real issues.

    But then the next night we went into HK, and I was running with the same settings as I had in IGP and the performance was just horrendous as soon as the fight started. I dropped to about one frame every 10 seconds. My settings were literally the minumum on everything they could go and still it was horrendous after the fight started.

    Curious if these changes might help this?

  14.   This is the last Rift Team post in this thread.   #14
    Rift Team
    Join Date
    Jun 2014
    Posts
    677

    Default

    Generally culling changes (what we're testing on PTS) will not affect FPS during a fight unless it also affects FPS in the same area when there's no fight.

    Quote Originally Posted by Rhumble View Post
    Curious if this might help some of the horrid lag on some machines in HK?

    A week ago, I was out of town and had my laptop. Nothing phenomenal, but was really the first time I'd played Rift on it. It did pretty well and I was somewhat surprised first few days. Even managed to do an IGP HM and had no real issues except for horrible Hotel network. Did some WF's/NMR's/PTW bosses without any real issues.

    But then the next night we went into HK, and I was running with the same settings as I had in IGP and the performance was just horrendous as soon as the fight started. I dropped to about one frame every 10 seconds. My settings were literally the minumum on everything they could go and still it was horrendous after the fight started.

    Curious if these changes might help this?

  15. #15
    Rift Disciple Chillor's Avatar
    Join Date
    May 2011
    Posts
    180

    Default

    I wonder why I always have a $600.00 video card and these games use CPU instead of GPU's.

+ Reply to Thread
Page 1 of 2 1 2 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts