F1PerfView 1.26

April 29, 2012

By René Smit

What is it

F1PerfView is a telemetry viewer for Windows, supporting GP2/GP3/GP3-2000/GP4 performance analysis, F1RS/MGPRS2 telemetry files, LFS replay analyser files, and generic text files. It includes most of the features that the internal GPx and F1RS viewers have, plus a text view, a statistics view, a time difference graph, and a track view. It also allows a combination of upto 256 perf files to be compared. The latest version can always be obtained at http://rsdi.home.xs4all.nl/f1perfview.html





Archive Contents

The downloaded archive should consist of these files:


F1PerfView is a 32-bit MFC program for Windows 9x/NT/ME/2K/XP/Vista/7. You need the following DLLs installed in your system: Usually these two DLLs are already present in your system directory. I want to keep the size of the download as small as possible, so these libraries are available separately from my home page (mfclibs.zip, size 680KB). You only have to download these if you don't already have them (just run F1PerfView and see if it starts up), then put them in the same directory as f1perfview.exe.

Getting Started

After you’ve started F1PerfView, the main window appears. From here you can open one or more telemetry files with File|Open, where you can specify the file type at the bottom of the dialog, under "Files of type:". If you usually want to load a specific type of telemetry file you can set the path that game in the Options dialog, for example for GP2 "C:\GAMES\GP2". You can also check "Use as default path" and "Use alternative file dialog" to select your files from a list that shows extra information, like laptimes.

You can add more perf files for comparison with the File|Add Buffer command. These will appear in the same views as the first loaded perf files. Each perf file is stored in its own buffer. With the File|Delete Buffer command you can remove a buffer from the comparison.

When choosing the File|Open command, all existing windows will be closed first.

File Types

F1PerfView currently supports four types of telemetry files.

GPx Performance Analysis files

These are the perf data files that you can save within GPx, using its internal perf data viewer, under the "Save lap" button. Refer to the game manual on how to fetch the performance data or how to extract it from hotlaps. It is not possible to extract performance data from hotlaps directly from within F1PerfView. If you're using GP2Lap to create extended GP2 performance data files, the best way to do that is using the "Extract from hotlap" button in the drive options menu, else it might be incomplete.

F1RS Telemetry files

These are the perf data files that you can save within F1RS, using its open telemetry file dialog in the internal telemetry viewer. This is done by clicking the button with the triangle and square on it (second from the left). The file name is generated by F1RS, and the data is stored in the ".\Saved\Games" directory. F1PerfView will automatically show this directory in the open file dialog if you specified the path to F1RS as described above. The file names are built up like this: It starts with the track number, then a 'l' with the lap number, then an 'i' with an index number.

MGPRS2 Telemetry files

These are similar to F1RS Telemetry files, but are split up in three separate files. The file names start with "save", followed by either a "1", a "2", or a "3" (you should load the one with a "1"), and then followed by an index number starting with "0".

LFS Replay Analyser Files

These are the perf data files that are saved by Live For Speed. They are stored in the ".\data\raf" directory when saved in single player mode during a replay.

Generic Comma Separated Value files

This is a custom file format using plain text to describe the data. It can be used if you want to view performance data made by an external source. Usually you created this external source yourself and you also need to generate the import files yourself. The import file consists of a header and any number of data lines. The header consists of two lines.
  1. The first line gives general information about that data. The order and number of values given here is mandatory and it goes like this: Information string, date, lap time, track nr, lap nr. The first two strings can be anything you like. The lap time is given in milliseconds. The track number and lap number are free to choose, but note that two files with different tracks can't be loaded together.
  2. The second line defines which columns are present in the data lines. Possible values are: "time", "dist", "speed", "acc_long", "acc_lat", "revs", "throttle", "brake", "steer", "gear", "rh_lr", "rh_rr", "rh_lf", "rh_rf", "st_lr", "st_rr", "st_lf", "st_rf", "ws_lr", "ws_rr", "ws_lf", "ws_rf", "ca_lr", "ca_rr", "ca_lf", "ca_rf", "pos_x", "pos_y" (time, distance, speed, longitudal acceleration, lateral acceleration, revs, throttle, brake, steer, gear, ride height, suspension travel, wheel speed, camber, x position, y position). The data lines have to correspond to these columns (you can choose any columns in any order you like).
These first two lines are followed by the data lines. All data values have to be specified using the metric system. For example, a file can start like this:
"MyData v1.0","19-08-1999 11:37:45",75.194,2,1

Performance Data

Data Items

Below is a list of all data items. Data items are what you find as types in the graph view, text view, and export dialog. Most data items values are shown in standard metric units. However, for some it's more convenient to show a converted value (e.g. km/h instead of m/s, or mm instead of m). If a data item uses a conversion unit, it will be listed in the description.

Wheel types

Below is a list of wheel types. These can be selected in the graph view, text view and export dialog. They are applicable for data items that have different values per wheel, like ride height.


After the file is loaded, a statistics view is shown (you can select a different view in the Options dialog). The Window menu offers commands to open three additional views on the perf file: a graph view, a text view, and a track view. When all views are closed, the perf files will be closed too. All views can be closed at once by closing the file with File|Close.

Statistics View

This view is the default view after loading a perf file. It shows information and statistics about this and the added perf files. Each perf file has its own column, where it gives the following information (inspired by Steve Pritchard’s Grand Prix Analyser for F1GP perf files):

A solid circle is drawn on the left of each perf file name using its own colour, to help identifying them in the graph view. Clicking on its header enables or disables the buffer. Disabled buffers are not shown in a graph view or track view.

The statistics view can also be printed with File|Print. Select File|Print Preview to preview it before printing.

Graph View

This is the view that shows all the graphs of the perf files. Contrary to the internal perf viewers, only one graph type is shown at the same time. Multiple graph types can be viewed by opening additional graph views.

The graph type on the y-axis can be selected with the combobox in the toolbar of this view’s window, labeled "Y". Since version 1.6, it's also possible to change the type on the x-axis, using the combobox labeled "X". Some graphs (e.g. Ride Height) only show one buffer at a time, since they show sub-graphs for each wheel. For these graph types, you can select a different buffer with the combobox at the top of this view, labeled "Buffer", or you can select a specific wheel with the combobox labeled "Wheel" , which will show one wheel but all buffers. If one of these graphs is selected on the x-axis and not on the y-axis, the average of all wheels is taken as the x-value, unless a specific wheel is selected.

Besides showing the common data items, the graph view can show a time difference graph. It shows the relative difference in lap time between all buffers. This is a special graph and cannot be selected on the x-axis. It always uses distance on the x-axis.

You can temporarily remove the toolbar using the context menu (or Ctrl+B), to save space.

Two modes are available in the graph view: selection mode and cursor mode. The view defaults to selection mode. While in selection mode, a selection is made by dragging the mouse over the graph while holding down the left mouse button. Once a selection is made you can zoom in on the selection.

Use the View|Zoom X, View|Zoom Y menu’s, or mouse wheel to zoom the graph in and out (use shift + mouse wheel for Y zooming). Zooming a selection is done by choosing View|Zoom X|Zoom Selection. To zoom back to the complete range select View|Zoom X|Zoom All . The range is shown as time and as distance in the status bar.

Cursor mode is entered by selecting View|Cursor Mode. This will show a vertical cursor, which position can be changed by clicking the left mouse button on the graph. Shown at the top of the cursor are the values at that point of the graph. If the x-axis does not contain distance, then the cursor will be very small showing D: followed by the distance and then both the x- and y-value in parenthesis. Moving the cursor will then change the selected distance while the real cursor is a cross in the graph. Return to selection mode by selecting View|Cursor Mode again.

Most commands are also available using short-cuts or the context menu (activated by right-clicking on the graph).

In the graphs themselves you’ll notice little boxes with a number in them. These are the maximum y value (with the line downwards), minumum y value (with the line upwards), maximum x value (with the line leftwards), and minimum x value (with the line rightwards) for the shown selection. The x values are only shown if the x-axis does not contain distance. At the bottom left there is a little box showing the average y value for the selected distance. In the Brake graph you’ll also see additional boxes above each peak. These contain the distances at which full brake was applied, in metres. To turn off showing these numbers, invoke the Show Values command in the popup menu.

With the combobox labeled "Wheel" you have the choice to show data for a specific wheel, wheel combination, or all wheels (default). When showing data for all wheels, you only see one buffer at the time (the selected one). When showing data for a specific wheel or wheel combination, the graph behaves like the other graphs so you can compare data from multiple buffers.

Besides the wheel selection combobox you can see a button labeled "Sync". With this button you can toggle the synchronization of multiple graph views. When the button is depressed then zooming, scrolling and selecting a different buffer or cursor position will have effect also on all other views with this button depressed.

Text View

This view shows the actual data values. The text view can be synchronized with other views by selecting View|Synchronize or right-clicking in the text view and toggling "Synchronize" in the context menu. It will then limit the perf records according to the zoomed selection in graph views, set the selected row to the cursor position in the graph view and vice versa, and show the same buffer as the graph view. This can be overridden by selecting a different buffer using the context menu (buffer <default> uses the one from the graph view).

Columns can be added or removed using the context menu. Clicking on the column header will sort on that column. Clicking again will reverse the sorting. Hold the Ctrl key to sort on extra columns.

Track View

This view shows driving lines of the cars and optionally an underlying track map.

Driving lines

GP2: uses higher resolution data with GP2Lap extended files. The extended perf file option was added to GP2Lap in version 1.05, and must be enabled in the .cfg file with:
logPerf = 1

GP3/GP3-2000/GP4: uses lateral acceleration to calculate higher resolution data.

F1RS: works only if an accompanying ghost file can be found.

LFS: works.

If the view is synchronized, it will scroll along with the other views, and lines outside of the selected range will be gray. The little dots in the picture are the center of car radii. The larger white dots on the driving lines indicate the current cursor position.

Track map

This is available only for LFS and GP2.

You can scroll manually by using the num-locked keypad keys, or by left-clicking the mouse, holding it, and then moving the mouse. Zooming is done with the default zoom buttons/accelerators and with the mouse wheel. Double-clicking will reset the zoom/scroll positions, and another double-click will undo that.

Use the context menu to toggle drawing of the different parts of the track.


For LFS it only works if it can load exported track data. These .SMX files have to be extracted to a directory called data\smx within the LFS directory. You have to create the smx subdirectory within the data directory yourself. Also make sure to specify the LFS directory in the F1PerfView options, so it can find these files automatically.

The track view shows a detailed coloured top-view of the track, including kerb stones, checkpoints, and all sorts of objects. Use the context menu to enable/disable checkpoints.


GP2Lap must be used for GP2 to export track data. If the track isn't shown, make sure the correct path to GP2 is entered in the Options dialog. This way F1PerfView can find the data file for the track, which should be located in the gp2lpdat directory under the main GP2 directory. As GP2Lap will dump the segment file as you start a session (after GP2 has compiled the track file into memory), and the segment files have a unique name (using the track checksum), F1PerfView supports all custom tracks besides the default tracks automatically. Also, F1PerfView supports all your old hotlaps. Just 'reperf' them using the "Extract from Hotlap" option in GP2, and save your new extended perf file.

The track view shows a top-view of the track with correct scaling and dashed best line (CC line). It also draws kerbs. There are two types of kerbs, usually a low one and a high one. One type is drawn red/white (usually the high kerb), and the other type is drawn blue/white.

Exporting Perf Files

Perf files can be exported to an ascii file (or .csv file) by selecting the File|Export command. It will show a dialog where you can select all data types you wish to export. It's possible to export multiple buffers. They will simply be appended to each other. For each type you can enter a range that will make sure that only lines are exported that have all columns within (or optionally outside of) the specified range. An additional checkbox "Selected range only" can be checked to easily set the distance range to the last zoomed in range in a graph view. Header and column names are optional.

Setup Editor

F1PerfView has a built-in setup editor for GPx setup files. You can open the editor with the Setup|Edit command, or open a setup file with the Setup|Open command. If there's a setup file with the same file name - and in the same directory - as a perf file, this setup file is loaded automatically when you load that perf file. It’s not possible to extract a setup from a hotlap file (use HOFxLapW for that). Saving the setup is done with the Setup|Save command. The file name will be the same as the perf file name (with a different extension) or as it was loaded if you loaded it explicitly.

Note that since version 1.11 each perf buffer has its own setup. So if you load multiple perf buffers, editing a setup only affects the current buffer (current buffer is the one that was last selected in either the graph or the text view). To save all modified setups at once, hold the Shift key while invoking the Setup|Edit command.


Use the menu command View|Options to open the options dialog. In this dialog you can change the following options:


I'd like to thank Ivanhoe Vasiljevich, Grant Reeve, Martin Granberg, Dave Gymer and Robin Smit for their testing, help, suggestions and support.

Thanks to Manfred Ortmann, Rick Devente and Rejean Bazinet for providing info about MGPRS2.

Thanks to Scawen Roberts for adding perf data to Live For Speed.