I have used GPA with the Yeshen simulator to implement K frames before to check the actual rendering situation. After not using it for a while, I forgot the specific steps. This time I will implement the relevant specific steps while trying it out.
First, go to Intel’s official website to download the tool: https://www.intel.com/content/www/us/en/developer/tools/graphics-performance-analyzers/download.html
After the installation is complete, the following four icons will appear on the desktop
Then open the Graphics Monitor tool, set the Auto-detect of General Settings to true, and set the path.
If you don’t know the path of the simulation, you can right-click the simulator properties to view the target location.
Click start
, and a corresponding icon will appear when you
hover the mouse. A running sign
. I couldn't run Night God when I started it. After closing it, I opened Night God and it ran successfully. After entering, I found that there were extra related things in the upper left corner, which proved that it had been successfully started.
After entering the game, open the Graphics Monitor and you will find an extra link. This is the running software marked by the tool. Click the
link and the camera button in the upper left corner
of the System Analyzer interface will pop up
. K frames can be used. The in-game prompts Ctrl+F1. k frame, but unfortunately I can’t do it here. After the frame is captured successfully, the captured frame will be displayed on the right side of the Graphics Monitor. Double-
click to enter, and the Graphics Frame Analyzer will automatically open, and then open the frame you need to view.
Here is a description, your K frame After the completion, you can also directly view the frames received by K directly through Graphics Frame Analyzer. The frame data contains the content you need to view, so the data of one frame of your K is several hundred M.
Here is a reminder, Ye Shen’s graphics card rendering mode must select DirectX mode, otherwise the data inside will not be captured.
Open a good frame of K, and you can directly see the rendering time of this frame in the upper part, and the total batch
us The unit is microseconds. 1 millisecond is equal to 1000 microseconds. 30004us is equivalent to 30 milliseconds to complete this frame. On the right is 33FPS, which means that 33 frames can be rendered per second. Divide 1 second, which is 1000 milliseconds, by The frame time is 30 milliseconds, and the result is 33.333, which proves the correctness of the result. The 344/344 below represents that the current batch has been rendered for 344 batches.
The top list in the above picture shows the order and time consumption of each batch of the entire rendering. The yellow one is the currently selected batch, and the lower left corner lists the current operations of each batch. It is divided into three blocks, respectively
. It is input, processing, and output. The input includes vertex data geometry and related maps. The processing part SH is the shader compiled and run, State is the state during rendering, and the output is the rendered texture, as well as the rendered model (patch). The input part Geometry can view the rendered geometry part, and you can view patches and lines
. box and normal
The upper right corner of the texture shows the texture format, size, export corresponding texture resources, flip, flip here mainly can be flipped when viewing the rendering results. After the DX rendering is completed, the pictures will be reversed.
FX can view some information about the picture. Click on the picture icon to pop up a new dialog box for viewing.
Click the time icon button to view the batches currently used by resources on the left.
When dealing with SH here, you can view the rendering shader. This has been compiled and is equivalent to an instruction for the computer. Select
DXBC and view it. You can see that it is very similar to the D3D code compiled in Unity.
In the upper right corner, you can choose to view the vertex shader (Vertex) or fragment shader (Pixel) used. I heard that the shaders here can also be modified directly to view the compilation effect.
Then check the upper left corner of the compilation results. Normal Mode is to view all results directly. Scrub Mode, the ones rendered later in this batch will not be displayed in the picture.
You can also check
the two drop-downs on the right side of Overdraw to see how the currently rendered part is displayed and how other parts are displayed.
The output geometry can be viewed at the position rendered on the screen, or directly viewed at what the model looks like after processing by the shader.
Generally speaking, this tool is relatively easy to use for debugging performance and checking problems. I only know how to use it. Friends are welcome to discuss how to use it.