Intel® Graphics Performance Analyzers (Intel® GPA)
Improve your game's performance by quickly identifying problem areas.
435 Discussions

Fatal Error when frame capturing UE4 DX12 on NVIDIA

xchen_31st
Beginner
2,002 Views

Repro steps:
1. Download UE4.26.1 vanilla
2. Create dummy template project
3. Package project
4. Run GPA Frame Capture with packaged exe -dx12 command line

You get "Fatal Error" message popup. Tried enabling, disabling raytracing, no difference. If I recompile with  D3D12_RHI_RAYTRACING=0 it gets further (creates black screen) then fatal error again. UE4 with D3D11 works perfectly. Stream mode seems to work.

Intel GPA 20.4.1608031112; tried extended mode + DX12, same result.
GTX1080 + Win64

Any ideas? 

0 Kudos
12 Replies
Pamela_H_Intel
Moderator
1,934 Views

Hello,

I will check with the team to see if this is a known issue. I appreciate that you sent the details so we can attempt to reproduce.

Meanwhile, please try this with our new release - Intel GPA 2021.1 (released last week). Let me know what happens.

The immediate workaround is to capture a stream and analyze the frame you are interested in. (A stream is a set of frames.)

<edit> Also - are you capturing the frame from System Analyzer or from Graphics Monitor?

Pamela

gwhitten_31st
Beginner
1,872 Views

Hello Pamela,

I work with xchen_31st and I just installed:

Intel GPA 21.1.1616502571 

GTX1080 + Win64

Tested launching our game with GPA with dx12 and it is still crashing.

Ran the same test with dx11 and that is working fine with the new gpa 21.1 version.

Thanks,

Grant

Pamela_H_Intel
Moderator
1,790 Views

Grant and XChen,

Are you still having issues with crashing when using DX12?

Did you try capturing a stream?

If you are experiencing a crash or other anomaly, can you give more details? Which tool are you using when you experience this issue? Is the issue

  • Graphics Monitor crashing when you begin to open your application?
  • Graphics Monitor crashing when you are capturing a frame? a trace? a stream?
  • Or is it after you have captured a frame/trace/stream and not until you try to open a frame and it is Graphics Frame Analyzer crashing?

Pamela

xchen_31st
Beginner
1,868 Views

Hi,

We are capturing from GM. We can try stream!

Pamela_H_Intel
Moderator
1,790 Views

XChen - did you try capturing a stream? Does it crash in GM or in GFA?

xchen_31st
Beginner
1,481 Views

Hi,

Yep stream and trace works but not frame capture.

boris_usanovic
Beginner
1,611 Views

@Pamela_H_Intel 
I have same issue as Xchen.  Stream and trace works fine but Frame capture does not with UE4 dx12 package. 

Pamela_H_Intel
Moderator
1,326 Views

Boris,

Thank you for the information.

Since a stream is a set of frames and we are augmenting multi-frame functionality, we have focused less on testing single frame capture. Please tell me if this is affecting your work flow.

We will look into this. If you cannot capture a frame with Graphics Monitor and you really need to capture a single frame, use GPA Framework. It is a separate download.

  • Download GPA Framework,
  • Open a cmd window
  • Go to the directory where you installed Framework, usually here: 
    C:\Program Files\IntelSWTools\GPA Framework\21.3\bin\Release
  • Run this command
    gpa-injector -L hud-layer -L capture:deferred=true,fixed-frame-count=1 “<PATH TO YOUR EXECUTABLE/YOUR.EXE>”
  • The capture window will open with the HUD. Whenever you want to capture a single frame, hit 'L'.
  • Then you can open those frames in Graphics Frame Analyzer.

 

boris_usanovic
Beginner
1,309 Views

Thanks Pamela,
Capturing frame with GPA Framework works. However when we finish capturing frames using GPA Framework we can't find GPA Frame File in Documents/GPA folder and in GPA Graphics Frame Anlalyzer we only have empty files.

boris_usanovic_0-1633508463910.png

 

Pamela_H_Intel
Moderator
1,289 Views

Boris,

Your frame should go to that folder, but last month OneDrive syncing started disallowing saving to the C:\Users\<you>\Documents\ folder. That might be your issue. I made a GPA folder directly in C:\Users\<me>\GPA\ and save to that one.

Whatever the cause, you can set your destination folder in Graphics Monitor Settings, or in Framework by adding the 'directory' flag:

gpa-injector --layer hud-layer --layer capture:directory=“C:\Users\pamelaha\GPA” “C:\Program Files\IntelSWTools\GPA\gpasample.exe”

so . . .

C:\Program Files\IntelSWTools\GPA Framework\21.3\bin\Release>gpa-injector -L hud-layer -L capture:deferred=true,fixed-frame-count=1,directory="C:\Users\pamelaha\GPA"  "C:\Program Files\IntelSWTools\GPA\gpasample.exe"

Pamela

xchen_31st
Beginner
1,282 Views

Thanks for the information. We'll give the command like option a go.

I feel like abandoning single-frame does affect our workflow, as it's more difficult to have wider less-tech-savvy audience use command line tool, and streaming can struggle with large volumes of data from a huge project.

Pamela_H_Intel
Moderator
1,160 Views

Xchen and Grant,

Okay. I will talk with the dev team and see about retaining frame capture. I think we may implement being able to capture a certain number of frames in a stream - like you can now with GPA Framework - so that you can capture a "stream" of only 1 frame.

Still, with GPA 2021.3 and earlier you should be able to capture a frame. Have you found this with any other versions of GPA? Xchen was using 20.4 and Grant was using 21.1 (looks like you all are using the latest when it is released).

I will escalate this.

Pamela

Pamela

Reply