Frameview User Guide 1 1 Web
Frameview User Guide 1 1 Web
1 | User Guide
INTRODUCTION 3
FrameView Interface & Settings 4
Installing FrameView 5
Running FrameView 6
FrameView Overlay 7
Overlay Metrics 8
Overlay Mode Tags 9
FRAMEVIEW FILES 10
FrameView Summary File 10
FrameView Log File 11
TROUBLESHOOTING 26
FrameView 26
Excel Analysis Template 27
2
FrameView 1.1 | User Guide
INTRODUCTION
FrameView is a software tool designed to capture and measure API SUPPORT
performance and power utilization of PC-based graphics and CPU DirectX APIs (versions 9-12),
hardware. It’s especially useful for measuring frame rates and OpenGL, Vulkan
GPU power usage when running stressful “real world” PC gaming SINGLE-GPU CONFIGURATIONS
scenarios. FrameView captures performance and power data NVIDIA GeForce, AMD, Intel
with minimal overhead so as not to impact frame rates or MULTI-GPU CONFIGURATIONS
gameplay and includes an overlay that shows performance and NVIDIA SLI, AMD Crossfire,
power metrics as a game is being played. It also allows MSHybrid- and Optimus-based
platforms
benchmarks runs to be captured and charted in detailed reports.
DISPLAY SUPPORT
What’s New in FrameView 1.1 G-SYNC, Non-G-SYNC, ASYNC
(including FreeSync), and single
➢ Vulkan Overlay
monitor setup
➢ Rendering Present Latency
➢ CPU Clocks, Utilization, Temperature, and Power SCREEN MODES
Full Screen, Windowed, UWP apps
➢ GPU Clocks, Utilization, and Temperature
➢ Full support for PCAT (Power Capture Analysis Tool) OS SUPPORT
Power numbers from PCAT are logged in FrameView Log files Windows 10 and above
with corresponding changes in FV overlay OVERLAY
➢ System parameters like CPU name, GPU name, API, Average rendered FPS,
Resolution (only for full-screen mode), OS, System RAM, 90/95/99th frame percentile,
Motherboard, GPU Base Driver, and GPU driver Package in log dropped frames, render present
files latency, perf/watt, GPU
➢ Per-app log files for multiple runs utilization/core speed/temp, CPU
➢ Installer Support and UI improvements utilization/speed/temp, and
display mode tags.
➢ Expanded Excel Template for Charting
NOTE: Dropped frames and
FrameView captures game performance metrics including perf-per-watt can be enabled with
average and percentile frame-per-second (FPS) data for both interface toggles.
single- and multi-GPU configurations. Percentile FPS data is LOGGING
valuable for illustrating the severity and frequency of stutters Average rendered FPS,
that can interrupt gameplay. FrameView has been optimized 90/95/99th frame percentiles,
HW/SW info, API tested, full
particularly for detailed frame time, present, and display
GPU/CPU
scheduling metrics for measuring stutter. frequency/power/utilization stats,
perf/watt data, and much more!
FrameView captures real-time power measurements for both
total board power (including graphics memory) and GPU NOTE: D
X9/DX10 games do not
have overlay support although
chip-only power through application programming interfaces
data capture is supported and
properly logged.
3
FrameView 1.1 | User Guide
Benchmark hotkey
This is the button assigned to start and stop the benchmarking process. At this time, FrameView
only supports Scroll Lock and F10 as the benchmarking hotkeys.
Capture delay
This will delay the capture of a game by the seconds specified in the window. The default is 0
seconds.
Capture duration
4
FrameView 1.1 | User Guide
This will set a capture time limit for the benchmark. The default is 0 seconds, which means the
benchmark capture logging must be manually started and stopped with the hotkey. When the
time limit is set to a number greater than 0, the benchmark logging must still be manually
started, but it will be automatically stopped after the specified capture duration.
NOTE: The overlay is automatically disabled during benchmarking to ensure more accurate
results. The overlay will return once the benchmark hotkey is pressed a second time.
Overlay Options
Selecting these will show real-time power reporting. Please refer to the Charting NVIDIA Power
Data section for more information on how power data is measured and reported.
5
FrameView 1.1 | User Guide
Installing FrameView
FrameView version 1.1 includes a system
installer. The FrameView install files include
the following:
Running FrameView
1. Launch FrameView once installed from the Windows Start menu.
2.
3. Click Browse to determine the Benchmark folder location where results will be stored.
4. At this time, FrameView supports Scroll Lock and F10 as the benchmarking hotkeys.
6
FrameView 1.1 | User Guide
5. Launch a game.
The FrameView overlay should show up in the designated area chosen in the FrameView
interface.
9. FrameView Results will be saved as .CSV files with an application and timestamp name.
Consider renaming the files or creating a directory to reflect the GPU, game, and settings
tested.
FrameView Overlay
The overlay will appear in games with proper API support when FrameView is running in the
background. If the overlay does not appear, make sure to check if FrameView is running. Adjust the
overlay screen location in the FrameView settings to move the overlay to a different corner of the
screen.
7
FrameView 1.1 | User Guide
When benchmarking is enabled through the hotkey, the overlay will disappear. Removing the overlay
reduces overhead to ensure a more accurate capture of the game data. The overlay will reappear when
the hotkey is pressed again and capture is stopped or capture duration expires.
The overlay displays real-time data for average FPS, percentile FPS (90/95/99), dropped frames, chip
power, and perf-per-watt. Please refer to the FRAMEVIEW FILES section for more information.
NOTE: Overlay information will not be shown in DX9/10 and Vulkan-based games. However, data
capture is supported and the information will be properly logged. A future version of FrameView will
add overlay support for Vulkan-based games.
Overlay Metrics
LABEL METRICS DESCRIPTION
DROP Dropped Frames Whether the present was dropped (1) or displayed (0)
8
FrameView 1.1 | User Guide
Render Present The time between the Present call (TimeInSeconds) and when the
PLAT Latency GPU work completed, in milliseconds
F (Full Screen)
Running the game at full screen will ensure that accurate performance results are measured at
the resolution specified in the game.
W (Windowed mode)
If the game runs in windowed mode, pressing the Alt+Enter keys on your keyboard while the
game is running can often force the game into fullscreen mode. Check the game settings if that
doesn’t work.
I (Independent flip)
iFlip (also called Independent flip), is the mode where the app is simulating as if it was running
in Full Screen Exclusive mode.
T (Tearing)
When Vertical Sync is disabled, the full performance of the game can be measured (due to
9
FrameView 1.1 | User Guide
higher frame rates beyond the refresh rate of the monitor). However, a major artifact of
disabling Vertical Sync is tearing. This is the optimal method for testing game performance.
V (Vsync ON)
Vertical Sync is enabled, which forces the frame rate of the game to synchronize with the
refresh rate of the monitor. However, this limits the frames that can be displayed, and will not
show the full performance potential of the hardware being measured.
10
FrameView 1.1 | User Guide
FRAMEVIEW FILES
Two files are created once the benchmarking is completed using the hotkeys. Both files are
comma-separated value (CSV) files using UTF-8 encoding that can be imported into Microsoft Excel,
OpenOffice Calc, or Google Sheets. These files are saved in the benchmark folder location that is
specified in the FrameView user interface. They are named using the application process name and
include date and time stamps.
This table explains each header and the data contained in it:
Runtime The runtime used to present (e.g., D3D9, DXGI, VK, OGL)
Avg FPS Uses rendered FPS scheduling metrics to show the overall average FPS
Min FPS Uses rendered FPS scheduling metrics to show the minimum (single lowest) FPS
Max FPS Uses rendered FPS scheduling metrics to show the maximum (single highest) FPS
11
FrameView 1.1 | User Guide
The time between the Present call (TimeInSeconds) and when the GPU work completed, in
Render Present Latency
milliseconds
Performance per Watt considering MsBetweenPresents for performance and board power
Perf/Watt (F/J) (PCAT)
as measured by PCAT
GPU Base Driver Base Driver Version - taken from WMI (Windows Management Instrumentation)
GPU Driver Package Driver Package - taken from WMI (Windows Management Instrumentation)
System RAM Size and type of System RAM - taken from WMI (Windows Management Instrumentation)
12
FrameView 1.1 | User Guide
This table explains each header, if the data is collected per frame or sampled on a regular interval, and
how to interpret the column as a whole:
Runtime Per Frame The runtime used to present (e.g., D3D9, DXGI, VK, OGL)
ProcessID Per Frame The process ID of the process that called Present
SwapChainAddress Per Frame The address of the swap chain that was presented into
The time of the Present call, measured from when FrameView recording
TimeInSeconds Per Frame
started in seconds
MsBetweenPresents Per Frame The time between this Present call and the previous one, in milliseconds
The time between when the previous frame was displayed and this frame
MsBetweenDisplayChange Per Frame
was, in milliseconds
MsInPresentAPI Per Frame The time spent inside the Present call, in milliseconds
The time between the Present call (TimeInSeconds) and when the GPU
MsRenderPresentLatency Per Frame
work completed, in milliseconds
The time between the Present call (TimeInSeconds) and when the frame
MsUntilDisplayed Per Frame
was displayed, in milliseconds
13
FrameView 1.1 | User Guide
Board power
CPUCoreUtil%[##] Sampled CPU utilization (percentage) [## denotes CPU core number]
14
FrameView 1.1 | User Guide
1. Describing the log’s various capture attributes like the executable name, runtime, resolution,
and graphics card.
2. Calculating a summary table with metrics like average, minimum, maximum, and percentile
values for each loaded file.
3. Performing a health evaluation to determine if the capture contains any qualities that might
affect the validity, accuracy, or comparability of the capture to other files.
4. Creating bar graphs using summary metrics and plot various metrics over time for individual
captures as well as categorical comparisons between loaded files.
NOTE: You can review these macros before granting permissions by pressing Alt+F11 to open
the VBA editor. The “UDFs” module contains all of the code used by this template.
15
FrameView 1.1 | User Guide
Buttons
To analyze a FrameView capture file, press a “Load Capture” button to open a file explorer
window and select a FrameView log file, then press “OK” to load the file into the template.
Note that the template is designed to read FrameView log files specifically, not the FrameView
summary file, and loading a non-FrameView CSV file is not likely to generate useful results.
There is some limited compatibility with tools built atop Intel’s PresentMon framework but this
template is best used with files generated by FrameView 1.1.
To unload a specific file, click the “Clear” button beneath the respective “Load Capture” button.
You also have the option of overwriting a loaded file with another. To clear all loaded files, click
the “Clear All Data” button.
Chart Properties
When a FrameView log file is loaded, the cells will reflect the executable name, runtime, output
resolution, and retail GPU name found within the capture file, which can save time and reduce
errors. If these aren’t written in the way you’d prefer, these cells can be safely overwritten with
custom information; the formulas will be reinstated the next time a file is loaded. Also, as
shown above, these cells will turn a reddish color in response to differences between capture
files like mismatched application names, runtimes, resolutions, or GPUs.
There is also a row for prescribing an extra variable for these captures, such as RTX, DLSS,
different image quality settings, or other attributes that aren’t described in the log file and may
influence the capture in some manner.
16
FrameView 1.1 | User Guide
Lastly, you can choose to plot GPU chip power, total graphics power, or data captured by the
Power Capture Analysis Tool (PCAT). While FrameView accurately reports both chip and board
power for NVIDIA graphics cards, the AMD API used by FrameView appears to report a value
in-between chip power and board power for AMD graphics cards. Therefore it’s currently not
possible to use FrameView to directly compare AMD GPU power to NVIDIA GPU power. Note
that AMD total board power can be measured by third-party combination hardware/software
interposer testing methodologies including NVIDIA PCAT and others. PCAT works in conjunction
with FrameView as described above.
Label Templates
These two cells allow you to customize how information in the Capture Properties section is
displayed on charts using a simple tag system. The available tags are: [Application], [Runtime],
[Resolution], [GPU], and [Variable]. Tags must be spelled correctly and enclosed by square
brackets. All tags are optional and can be repeated, excluded, or rearranged as desired and can
be used in either or both templates. This information and default templates are available in the
cell comments (red triangle in the corner).
Below are a few examples of chart title template for a set of captures from Shadow of the
Tomb Raider (SOTTR.exe) using the DirectX 12 (D3D12) runtime at varying resolutions and
running on an NVIDIA GeForce RTX 2060 SUPER:
[Application] ([Runtime]) at [Resolution] SOTTR.exe (D3D12) at Different Resolutions w/ NVIDIA GeForce RTX
w/ [GPU] | 2060 SUPER |
[GPU] | [Runtime] | [Application] | NVIDIA GeForce RTX 2060 SUPER |D3D12| SOTTR.exe | Different
[Resolution] | Resolutions |
Run Summary
Once files have been loaded, this table will be populated with figures describing various metrics
about the capture, including the length in seconds, frame rate, render present latency, power
draw, utilization, and more for the CPU and primary graphics device. The files are described
according to their extra variable, or if none is provided, the file slot they were loaded into. The
table below shows the GPUs used, which can be done by changing the Extra Variable to [GPU].
The drop-down menu changes what formula is used by the table, showing averages by default.
Other formula choices include: minimum, maximum, 90th percentile, 95th percentile, and 99th
percentile. This option also changes the values shown in the bar plots (covered below).
17
FrameView 1.1 | User Guide
Of note is the PCAT vs API Power (W) row, which shows the difference (in Watts) between the
power measurements obtained from PCAT and total board power figures reported by a
graphics vendor API; positive values indicate that PCAT measured more power than was
reported by the API, while negative values suggest the API was reporting higher power values
than PCAT observed. These differences are sensitive to alignment and sampling rate differences
between PCAT and the reporting API.
Capture Health
This table shows the results
of various checks
performed on loaded
capture files. Each test can
suggest possible issues with
a capture by testing for
homogeneity and/or
specific results in the
reported application,
resolution, runtime, flip
model, and other ideally
static attribute columns as
well as testing for dropped frames, a hardware-based flip model, frame synchronization, and
more. Fields with potential issues are highlighted and display “CAUTION” text, and you can read
18
FrameView 1.1 | User Guide
the associated cell comments (hovering over cells with red triangles in the corner) to learn what
issues might be affecting the quality of a capture.
As shown, different results are returned for three files with varying types of potential issues.
The first capture had no issues, the second was captured with G-SYNC enabled, and the third
shows many issues arising from changing settings and window focus while capturing. Below is
an outline of what each attribute is tested for during this process.
NOTE: The “ideal” qualities are prescribed with benchmarking in mind, where performance is
prioritized above all else; using exclusive fullscreen modes, no variable refresh rate
technology, no vertical synchronization policies, and so on. This table simply tries to explain
possible issues, limitations, losses of accuracy, or less than ideal qualities that could affect
comparisons in purely performance-focused testing. Regardless of the number of possible
issues, the analysis template will render plots and calculate tables as best it can. Your typical
gaming environment will probably deviate from these expectations in some way - for
example, running in borderless fullscreen mode with G-SYNC and V-Sync enabled. If you are
interested in comparing captures under your normal circumstances and understand the
limitations therein, some of the results from this table can be safely ignored.
19
FrameView 1.1 | User Guide
In addition, if PCAT measurements were included in the FrameView log file, this data and API
power data will be featured in another set of scatter plots. These graphs can be useful for
understanding smaller (faster) power trends as PCAT captures data much more quickly than
would be practical for API polling.
20
FrameView 1.1 | User Guide
21
FrameView 1.1 | User Guide
MsBetweenPresents
Can alternatively be used to chart rendered FPS. This data is captured from the beginning of the
graphics pipeline and indicates the smoothness of the animation delivered to the GPU. This is
the data that is typically provided by other benchmarking capture tools, but can’t capture
driver-side improvements like frame metering.
The plot below illustrates the difference between these metrics for the same capture:
22
FrameView 1.1 | User Guide
MsBetweenDisplayChange
(Displayed FPS) Should be used to understand the percentile distribution of frametimes for
frames that have been displayed. Once again, this data is captured from the end of the graphics
pipeline and is an indicator of what the user actually sees displayed on screen.
NOTE: Percentile data is highly sensitive to stutter. In order to obtain the most meaningful
results, exclude loading screens, menus, and large frametime spikes when selecting a dataset.
F /J = (F /S) / (J/S)
For more details on measuring power of GPUs, please refer to the NVIDIA GeForce GPU Power
Primer.
23
FrameView 1.1 | User Guide
world" application. TBP or Total Board Power is essentially the same as TGP. Using this data will
be more accurate since it does not include the power used by devices that may be connected to
the USB-C connector on NVIDIA GeForce RTX graphics cards.
NOTE: FrameView is not as accurate as interposer/riser card techniques for measuring idle
chip or idle board power. It is accurate for load testing, so it is best to use FrameView when
running real-world applications that stress the GPU.
F /J = (F /S) / (J/S)
For more details on measuring power of GPUs, please refer to the NVIDIA GeForce GPU Power
Primer.
While FrameView accurately reports both chip and board power for NVIDIA graphics cards, the
AMD API used by FrameView currently only reports a value that appears to be in-between chip
power and board power for AMD graphics cards. Therefore it’s currently not possible to use
FrameView to directly compare AMD GPU power to NVIDIA GPU power. It may be useful to ask
AMD if they can report chip-only and full board power with the APIs, similar to NVIDIA.
FrameView will be updated to capture total board power and chip power for AMD if they make
such information publicly available in their API.
24
FrameView 1.1 | User Guide
Since AMD board power cannot be accurately measured with FrameView, performance per
watt data can not accurately be calculated. Therefore, it’s currently not possible to use
FrameView to directly compare AMD GPU perf per watt data to NVIDIA. It may be useful to ask
AMD if they can report chip-only and full board power with the APIs, similar to NVIDIA.
FrameView will be updated to capture total board power and chip power for AMD if they make
such information publicly available in their API. Note that AMD total board power can be
measured by third-party combination hardware/software interposer testing methodologies
including NVIDIA PCAT and others. PCAT works in conjunction with FrameView as described
above.
25
FrameView 1.1 | User Guide
FrameView provides performance data that is captured in the Present and Displayed portions of the
game/graphics pipeline. Data from these two areas will always be reported in the logs. You can choose
which you would like shown in the overlay using the FrameView settings in the interface. They are
called Rendered FPS and Displayed FPS.
Rendered FPS (MsBetweenPresents) measures timestamps from the beginning of the graphics
pipeline and is a metric indicating the smoothness of the animation delivered to the GPU. This
is the data that is typically provided by other benchmarking capture tools.
Stutter is the variation between T_game and T_display. This data is also reported by FrameView in the
logs. The header is called MsUntilRenderComplete and it measures the time between present start and
GPU work completion.
26
FrameView 1.1 | User Guide
TROUBLESHOOTING
FrameView
Frames are capped at 30fps, 60fps, 75 fps (or any other framerate) in a game
The game may have a frame rate cap “framecap” (internal frame limiter) that prevents
rendering faster than a specified rate. Check the game settings to see if a framecap is set.
This can also be caused by having V-sync enabled (ON), which will synchronize the frame rate to
the refresh rate of the monitor. Check the game settings and disable V-sync to ensure that the
frame rate is no longer tied to the monitor refresh rate. The FrameView overlay will show an
“T” when V-sync is OFF (for tearing) and will show a “V” when V-sync is ON.
If the overlay is not being displayed over DX12 or OpenGL games, please follow the steps below
for manually stopping and restarting the overlay application process in Windows.
Scan Report and Scan Log files are not being created after capture
You may need to manually stop the overlay to restart the application process fresh in Windows.
Open a Command Prompt with administrator privileges. Click the Start button, scroll down on
the apps list to the Windows System folder and then click it to open the contents. Right-click on
Command Prompt, click More, and then click Run as Administrator (as shown in the image
below).
27
FrameView 1.1 | User Guide
In the Command Prompt, type the following: logman stop FCATOverlay -ets
1. Launch FrameView
2. Launch Game
3. Let FrameView overlay appear
4. Launch FRAPS
5. Close FRAPS before closing the game, and then follow steps 1-4 for the next run
I loaded a file but don’t see any information in the tables or charts.
28
FrameView 1.1 | User Guide
Verify that the loaded file was a FrameView Log file (not the summary file) and then check the
Capture Health table to learn about potential integrity problems. If any modifications have
been made to formulas, chart properties, named ranges, or VBA code in the template,
reattempt with an unaltered copy of the original template.
The Capture Health table says “NOT FOUND” for one or more of my file’s attributes.
“NOT FOUND” is returned when a file has been loaded into the template but does not contain
one or more column headers that are evaluated for the Capture Health check. The loaded file
may have been generated with an older version of FrameView, created by another application
(e.g., FRAPS, PresentMon, etc.), may have had key columns manually removed, or was
otherwise not interpretable by the analysis template.
Excel slows down or crashes when importing large files into the template.
As with all software, Excel works with a limited economy of resources. Excel becomes less
responsive when viewing large data files on their own; this template calculates dozens of
various metrics and plots four bar charts and fifteen plots for up to three files with many
thousands of data points, which places even greater demand on the application. While there is
no explicit file size limit, we recommend limiting capture duration or trimming larger files down
to 50 MiB or less.
29
FrameView 1.1 | User Guide
LEGAL
Notice
ALL INFORMATION PROVIDED IN THIS WHITE PAPER, INCLUDING COMMENTARY, OPINION, NVIDIA
DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER
DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA
MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes
no responsibility for the consequences of use of such information or for any infringement of patents or
other rights of third parties that may result from its use. No license is granted by implication or
otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this
publication are subject to change without notice. This publication supersedes and replaces all
information previously supplied. NVIDIA Corporation products are not authorized for use as critical
components in life support devices or systems without express written approval of NVIDIA
Corporation.
Trademarks
NVIDIA, the NVIDIA logo, and GeForce are trademarks or registered trademarks of NVIDIA Corporation
in the United States and other countries. Other company and product names may be trademarks of the
respective companies with which they are associated.
Copyright
© 2020 NVIDIA Corporation. All rights reserved. NVIDIA, the NVIDIA logo, GameWorks RTX, GeForce
GTX, GeForce RTX are trademarks and/or registered trademarks of NVIDIA Corporation in the U.S. and
other countries. Other company and product names may be trademarks of the respective companies
with which they are associated. Features, pricing, availability and specifications are subject to change
without notice.
30