x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

profilegpu not accurate?

profilegpu not accurate?

My scene says 28.88 ms on the gpu.

Yet profilegpu says 16.91 ... Am i missing something?

Product Version: UE 4.9
Tags:
more ▼

asked Sep 25 '15 at 12:40 PM in Bug Reports

avatar image

kurylo3d
464 46 83 108

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hey kurlylo3d,

So when you profile your GPU, it is essentially taking a screenshot of your scene at that moment, and compiling all the rendering information into a report. When it comes to accurately profiling your scene and your GPU, you will want to uncheck the Smooth Framerate option in your projects settings, and test against a standalone window launch. You will also want to make sure you are not running a lot of processes so you are testing against maximum performance of your computer as well.

Below is an example of a scene I have in my test bed project to show an example of this process. I am testing in my viewport which is why my numbers aren't exactly matching. However my numbers to not differ to the same degree as you are reporting.

Scene Stat Unit Graph alt text

Here you can see the my individual times for each call using the Stat Unit Graph. We are going to compare this to our other numbers generated by the GPU Profiler.

Profile GPU

alt text

Notice how these numbers added together are very close to my Frame and GPU time. This is giving me accurate results.

Scene Information

alt text

I am reporting about the same across all fronts. Keep in mind, when you move you camera across the scene, the number of objects and calls will differ therefore changing the report you will generate after profiling the GPU. A typical workflow when profiling is to navigate to various spots (most performance heavy) and optimize at those points. In turn, this will allow your already optimized areas to render cleanly as well.

For further information on Profiling the GPU and understanding the concepts please take a look over our documentation below.

GPU Profiling

https://docs.unrealengine.com/latest/INT/Engine/Performance/GPU/

If you have further questions please let me know.

Cheers,

Andrew Hurley

more ▼

answered Sep 25 '15 at 03:13 PM

avatar image kurylo3d Sep 25 '15 at 04:14 PM

Hey thanks for the help. Yea i am not sure why there is such a discrepancy between the profiler and what it says when viewing stats.

As for this question https://answers.unrealengine.com/questions/308108/draw-ms-goes-very-low-like-026-while-stream-textur.html

Any idea about that? Why would the draw behave like that? I thought the draw was the cpu ms... so if thats the case why would it mirror the gpu with the same high number when not streaming textures, but then fall to a low good number when it is streaming textures?

Many of my ms issues have stemmed from lots of overdraw dude to plants not distnace culling as well as 100 bamboo trees on top of each other practically.. I also lowered some visual settings to around medium

Still though performance can be better. Difficult to narrow down things. But its espeacially difficult when the profiler is behaving unexpectedly.

avatar image AndrewHurley Oct 22 '15 at 05:06 PM

Hey kurylo3d,

Unless I have your project, I cannot really determine if what you are experiencing is a bug. The spikes can be caused by a lot of different things. Draw calls are handled by the CPU.

In the documentation link I provided about GPU profiling, you can find a bunch of different ways to reduce the draw calls. If you are CPU bound in the game thread, you need to look into what game code is causing this issue (e.g. Blueprints, raycasts, physics, artificial intelligence, memory allocation).

You can run through this checklist to try and minimize the spikes you are seeing.

  • Be sure you have VSync turned off by using the 'r.Vsync 0'

  • Be sure you are running in Standalone when testing.

  • Disable the 'Realtime' option in your viewport when using the profiler.

  • Uncheck the, Smooth Framerate option in your Project settings.

The spikes can happen when you unclick the test window and then reclick. I have given about all the information I know of on this topic, and there is not a bug here it seems like you just need to test in a minimized test environment that will simulate the actual project being run as an executable on its own. You are going to see differences in your graph since you are now rendering at full screen resolution.

Thank you,

Andrew Hurley

avatar image kurylo3d Oct 22 '15 at 06:01 PM

Hi andrew, I have already tried all of those things... with no effect. I am more then willing to privately give you access to our svn repository of our project. Its a massive 70 or so gb download, but if you seriously want to help then maybe this is the only way you can test it yourself. Let me know and we can talk privately to pass the info.

avatar image AndrewHurley Oct 22 '15 at 06:35 PM

Have you attempted to test this on different machines with different hardware to see if the spikes are related to your specific machine or not?

Getting a project this large probably won't be possible as there is a limit to the amount we are aloud to share and download. This is for our own security and the security of our users projects.

Could you provide me with your 'dxdiag' so I can take a look at your system's specifications.

avatar image kurylo3d Oct 22 '15 at 06:42 PM

Here is the dx diag. And yes I have tested on my home computer which is i7 4.4 ghz with a gtx 980 and i have not seen any issues there... And if there are lag spikes there i probably dont notice them since the computer is so powerful.

link text

dxdiag.txt (38.9 kB)
avatar image AndrewHurley Oct 22 '15 at 06:45 PM

Yeah the lag spikes are more than likely attributed to your CPU and GPU at this point. The dxdiag you sent says you are using a 590, which is a fairly low-medium card at this point. Especially if you are not seeing the issues on your 980 card on the other machine.

avatar image kurylo3d Oct 22 '15 at 06:59 PM

a scene with below 1000 draw calls with everything set to low settings should be able to run shouldnt it!? I mean is the engine that crazy that something that minimal cant run? I mean i even get lag spikes where its 600 draw calls.

avatar image kurylo3d Oct 22 '15 at 07:16 PM

I mean the card is good enough to get 30-70 fps in my scene, but still get lag spikes anywhere and everywhere.. So its hard to just blame the card unless somethigns wrong.. or am i wrong.

avatar image AndrewHurley Oct 22 '15 at 07:42 PM

I am currently working on another issue that deals with something similar. You might want to take a look at this post to get a more in depth answer from one of our developers.

The profiler in the post is a bit more advanced, and shows more information so you might want to switch to that as well in order to see all the information from your scene.

https://answers.unrealengine.com/questions/197813/slate-rt-present-time.html

We have moved away from the original question which has been addressed as to the differences between your scenes reported MS versus your Profiler reported MS.

Understanding where your project is taking a performance hit, will help identify and eliminate the issue. From there, it is out of my hands as optimizing your project falls on your specific machine and what is being rendered to the screen relative to this.

avatar image kurylo3d Oct 30 '15 at 04:11 PM

Hey Andrew check out this screenshot.. im not sure how this makes sense.. look at my draw ms ... vs the draw calls. The draw ms should not be that low. And the gpu ms is the one that spikes when drawcalls unexpectedly raise. Usuallly in my lag spikes i get draw call spikes... but not always... they are usually temporary and lower if i stand still a few seconds... any ideas here? Editor giving me false information on drawms?

By the way this was one of those things that i wasnt able to get a screenshot of until now.. some where scrolling up in this post i mentioned it and you asked for a screenshot of it.alt text

drawms.jpg (1.1 MB)
avatar image kurylo3d Oct 30 '15 at 04:26 PM

I quite possibily may have found the root cause of all the lag spikes. Its the texture streaming. If i disable it .. no more lag spikes... though the scene looks like a blurry mess when i do that.. so thats no solution... Is there anyway to improve the texture streaming somehow?

avatar image kurylo3d Oct 30 '15 at 06:37 PM

Correction... although removing texture streaming stopped lag spikes every 10 feet.... They still happen anytime i turn the camera 360 degrees... anywhere in the map basically.... after a few turns it stops.... but anywhere in the map the first or 2nd turn will always give a lag spike... What on earth could cause something like that if its not loading in new textures anymore??? I cant figure this one out. Any ideas?? When i turn the screen percentage to 25.. the draw ms falls to 8 ms while the gpu ms is at or past 30 ms during the lag... but when i put the screen percentage anywhere higher then that ... both the draw and gpu ms stay at the same number.. so both are past 30... I would think the screen percentage would only help gpu ms.. not make draw ms fall..

Whats worse is im still experiencing the lag spikes at 50 or even 25 screen percentage.... even if im getting 90 FPS!!!

Should i start a new answers page? This one seems to have gotten cluttered with the same conversation happening in 3 different spots...

avatar image AndrewHurley Nov 01 '15 at 08:20 PM

I have honestly ran out of ideas as to why this issue is still occurring. It is clear there is a bug somewhere, and it seems you are working within the confines of the bug. All the suggestions I have provided should have helped with optimizing your texture streaming, and it does seem you have found a temporary solution. There are a few things you can try, and I might have already suggested them, but it sounds like your issue is with the lag spikes.

These spikes could be introduced if you have Vsync turned off, or if you are using the smooth framerate option within the Project settings. You can try messing around with the Fixed Frame Rate option as well, and see if that helps improve your issue. You could also try increasing your Texture pool memory size to something like 4000 mb to see what that does by using the 'r.Streaming.PoolSize' console command. I believe 1000 mb is the default which is fairly low.

If none of these suggestions work, we might need to create a new post and try narrowing down the lag spikes.

Cheers,

Andrew Hurley

avatar image AndrewHurley Oct 30 '15 at 05:15 PM

I hate to be redundant, but the documentation on Texture Streaming is going to help you out a lot! It tells you the heuristics and how to debug your texture streaming by providing useful console commands and visualizers.

Debugging your Texture Streaming

https://docs.unrealengine.com/latest/INT/Engine/Content/Types/Textures/Streaming/index.html#optimizinganddebuggingtexturestreaming

Cheers,

Andrew Hurley

avatar image kurylo3d Oct 30 '15 at 05:25 PM

Kind of already been through all that. At the time when i was we found out that the map was loading in textures at max res even if they were a mile away and took up like 10 pixels across the screen. Some were enabled as forced and then not enabled as forced... back and forth. Just weird stuff.

In either case i still get lag spikes .. just not as many with it disabled. Its almost as though i get draw call surges from turning the camera.. but they are only temporary ...like it will jump to 1400 and then down to 800 in an instant... i have no idea why thats happening... and no idea how to fix that. Im talking it will go up.. then i stand still for a second or do and it falls.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Would you mind providing me with some screenshots like the ones I showed in my answer?

You are right in that the draw calls are on the CPU. I could give you a whole bunch of information right now, but I feel you would benefit more from reading the documentation links I have provided. It will answer all of your questions as well as provide you with some help on how to troubleshoot your streaming textures.

If you have texture streaming disabled, this means your texture pool is constantly full. "The texture streaming system is multi-threaded and priority-based. When using a texture pool (i.e. on consoles), it will not stream out a texture until that memory is needed by another texture with higher priority, which makes texture quality more stable and prevents unnecessary disk access.

The priority of a texture is primarily based on distance but it also takes other factors into account, such as time, wanted resolution, and whether it is forced (flagged to be fully streamed in).

The system periodically calculates two values for each streaming texture: the wanted number of mip-levels and the priority. It then sorts all textures based on their priorities and tries to make sure that all textures have at least the number of wanted mip-levels in memory, starting with the texture with the highest priority. If a texture needs to stream in more mip-levels and there is not enough memory available at the time, it will start to stream out mip-levels from low-priority textures and try again next time."

CPU Profiling

https://docs.unrealengine.com/latest/INT/Engine/Performance/CPU/index.html

Texture Streaming

https://docs.unrealengine.com/latest/INT/Engine/Content/Types/Textures/Streaming/index.html#optimizinganddebuggingtexturestreaming

Let me know if you are still having trouble and I will be glad to help.

Cheers,

Andrew Hurley

more ▼

answered Sep 25 '15 at 05:13 PM

avatar image kurylo3d Oct 22 '15 at 02:11 PM

Sorry I have not responded in a while. I havent seen the draw ms go super low in aw hile, but still many issues.. including lag spikes for no reason at all.. i could be at 400 draw calls and still get lag spikes when i turn the camera ...

Also interesting thing that i am curious about. I am attaching 2 screenshots.. 1 at full res and 1 at less in the editor. The draw ms goes down significantly when its rendering window is smaller... but i dont understand why.. would the draw ms be cpu related stuff and isnt the fill rate something that is gpu dependent? Wouldnt that make the gpu ms go down and not the draw ms? Draw ms currently goes down. alt text

alt text

full.jpg (991.5 kB)
half.jpg (769.2 kB)
avatar image kurylo3d Oct 22 '15 at 02:21 PM

Another ... i can turn off every emitter and the draw ms goes to 30ms... thats the number around the gpu ms is at... BUT if i turn all emitters back on it drops to 4 ms....

For one thats the exact opposite i would think... since u stop viewing the particle fx id think that it would make it run better not worse lol... (not that there are that many in view anyway...

Heres another weird thing.. Same view.. same camera angle.. i disable the emitters and its at 30 ms.. fine... but if i leave the camera there for a bit it drops to 7ms... then i turn them back on it goes to like 4... turn them off.. to 7... Not even touching the camera... These values are just not being represented correctly.. these debug tools are broken...

avatar image kurylo3d Oct 22 '15 at 02:29 PM

And another thing.. during these lag spikes i get often.. its the game ms, draw ms and gpu ms that all spike at the same time ... same huge spike for them all.. and game ms is normally down since nothing is really going on in the scene.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question