Intel® Graphics Performance Analyzers (Intel® GPA)
Improve your game's performance by quickly specifying problem areas
489 Discussions

Difficulties getting Intel GPA to work in Starfield

Martin_123
Beginner
1,424 Views

Hello, 

I wanted to do some research into the complexity of this game, seeing as how highly it strains the CPU, but I can't get the frame analyzer to work when I create a screenshot, nor can I get Primitive Count or Drawcalls to show in the overlay. 

I am mainly interested in getting the drawcall and primitive count, as i'm suspecting the asset quality is much higher than most other games. But I need some proof outside of visually inspecting.

The frame analyzer gives me this error (i can get the gpusample.exe to work btw):


GPA_error1.png

The overlay gives me the following error (using DX12 Legacy Frame, DX12 doesn't even give me a single metric besides FPS).

GPA_error2.PNG

I also tried installing GPA on a laptop with Intel IGPU and opening the capture there, but I get the same error. What am I doing wrong?


Operating System:
    Name: Windows 10 Version 2009 (OS Build 19045.3324)
    Locale: nl-NL
    Windows Developer Mode is enabled
    Secure Boot/Trusted Boot is disabled

CPU Information:
    Name: AMD Ryzen 7 5800X3D 8-Core Processor
    Architecture: x64
    Cores count: 16

System BIOS:
    Version: American Megatrends Inc. 5003
    Date: 02/03/2023

GPU Information:
    Name: AMD Radeon RX 6800 XT
    Vendor id: 0x1002
    Product id: 0x73BF
    Stepping: 193
    Driver Version: 31.0.21029.6002
    Driver Date: 8-17-2023

Machine:
    Name: DESKTOP-HVJ7PPH
    Memory: 32690 MB
    Screen: 3440x1440, 32 bit

Graphics Performance Analyzers:
    Version: 23.2.1686276958
    Commit hash: fbb84559
    Installation folder: C:\Program Files\IntelSWTools\GPA\

0 Kudos
5 Replies
Pamela_H_Intel
Moderator
1,390 Views

Martin,


There are several things it could be.

First, FYI, our error messages in Graphics Frame Analyzer were previously useless. We are working on improving them, but have a ways to go. Basically, that error message you got is good enough to know that nothing crashed and GFA was able to determine that your frame could not open.

  1. You can try capturing a stream instead of a frame. We initially implemented frame capture. Then we added stream capture because it is sometimes valuable to capture a sequence of frames. We spent time augmenting the functionality of stream capture so that it by far exceded the abilities of Frame capture. Recently customers have asked for Frame capture to be augmented and we are working on that.
  2. It sounds like you've already explored Extended Capture Modes.
  3. Though we encourage use of GPA across platforms, we don't guarantee it will work on all competitor platforms. Often you can capture on non-Intel and profile (meaning open the stream for analysis in GFA) on Intel. Opening the stream on non-Intel platforms will give you only limited data because we do not have access to competitor HW counters. I believe that is why your HUD says "Metric is not available".
  4. Can you try the capture on an Intel platform?
  5. You can try capturing and opening the capture via the cli. If gpa-player fails, there are times when it will work in the cli. Certainly you are likely to get better error messages. If you want to try out the cli (GPA Framework) - which I highly recommend for capture of data if you don't need visuals - download it from the same page where you got the GUI tools and take a look at the GPA Framework Quick Tip video series we've been adding to monthly since February: https://www.intel.com/content/www/us/en/developer/videos/intel-gpa-framework-quick-tips.html


I hope something I've said helps. Post again if you have more questions.


Pamela


0 Kudos
Martin_123
Beginner
1,331 Views

1) So I tried launching the game in "Stream (DX12)" mode, but then it takes 5 minutes to get past the intro splashscreens. Suffice it to say, it makes the game utterly unresponsive and sluggish. 

3) Is this something you guys are actively improving? Are maybe these metrics coming to PresentMon along side the newly introduced GPUBUSY metric?

4) No not really, I dont have an intel platform that would be able to run that game at it's highest settings well enough to be responsive enough to capture what I need. Especially since Intel is having issues with that particular game. 

5) Is this essentially the same utility but without the GUI? Because why would that all of a sudden have access to the non-available metrics?
I tried looking at the video's but it was immediately apparent these are instructions for Linux. I dont know the equiavelent commands for Windows. IE the run/start commands in CMD. 

As to the other question, no it does not have RT.

0 Kudos
Pamela_H_Intel
Moderator
1,384 Views

Another thought, for opening on your Intel platform . . . if your version of Starfield has Ray Tracing and your Intel iGPU doesn't support RT, there might be an issue . . . though I think the frame should open.


0 Kudos
Pamela_H_Intel
Moderator
1,209 Views

So, during splash screen display, there are often lots of background calls happening to generate menus and do prep work. So even though it's "just the splash screen", if you are capturing all that, the calls and resource info is all being written out so that when you open the frame in Graphics Frame Analyzer, it plays back each command that you captured.


I recommend using Deferred mode (in Graphics Monitor --> Options --> Stream Tab --> toggle Deferred capture to ON). Then the game plays but doesn't start capturing until you hit l (ell). And stops capture when you hit l (ell) again. You can capture several times if you want, and streams as long or as short as you want.


The huge advantage of deferred capture is that you can play at normal speed to the part you want to profile, then do a quick capture at that spot, play more, capture again. The shorter the capture, the fewer frames you get but the faster it opens and plays back . . .


Note: when you capture, you are capturing the static info - calls, resource info, etc., not measuring any hardware info. When you open the frame, that is when it is actually running the calls, gathering the data and calculating the info (like aggregating the stall rate across all EUs in the GPU). This is why capturing almost always works and playback sometimes fails. This is also one of the things that makes GPA awesome . . . you can capture a frame or stream throughout the dev process and do regression testing AND you can play that stream on various platforms to see what the differences are and figure out which platforms you, as a Game Dev, want to target.


0 Kudos
Pamela_H_Intel
Moderator
1,207 Views

Oh, and the other question - Is GPA Framework the same as Graphics Frame Analyzer . . .

Yes. Mostly. It is the cli back end. However, due to the nature of GUI apps, there are sometimes interactions that can cause issues in the GUI that don't occur in the cli.

Also, GPA Framework has features that are not available in the front end (GFA) - like,

  • being able to do a sub-capture of a stream, like, say, extract frames 3 and 4 from a 2500-frame stream. This is cool because you may need those 2 frames for long term regression testing, and don't want to occupy so much storage space.
  • having access to all the layers in GPA Framework can be useful . . . api-debug layer, dump-state-layer, dump-resource-layer, etc.
  • and our upcoming release will support Vulkan Raytracing, but the front end won't yet.
  • . . . of course you won't have any of the visualizations.

0 Kudos
Reply