This article discusses various replay analyzer tools which can read and process telemetry data from the .spr file format. Recently, a new OutSim packet, with detailed live telemetry data, has become available (in test patch 0.6U9 - should be released in the next full version). LFS Forum thread: "Live telemetry data in test patch U9"
By René Smit [email protected]
Note: This guide has been abridged to the needs of LFS. The full version can be obtained here: http://www.xs4all.nl/~rsdi/docs/f1perfview_doc.html
What is it
F1PerfView is a telemetry viewer for Windows, supporting LFS replay analyser files. It includes a graph view, 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://www.xs4all.nl/~rsdi/f1perfview.html
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 "C:\LFS". 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.
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.
Distance. Distance into track (not actual meters driven by car).
Time. Time, in seconds.
Speed. Speed, in kph or mph.
Steering. Steering angle, in degrees.
Throttle. Amount of throttle applied, ranging from 0.0 to 1.0.
Brake. Amount of brake applied, ranging from 0.0 to 1.0.
Revs. Engine revs, in rpm.
Gear. Ranging from -1 to 7 (-1 = reverse, 0 = neutral).
Ride Height. Ride height at all four corners, in mm. In graph view, the ride height from the setup is overlayed.
Ride Height slow part. Ride height without fast changes.
Suspension Travel. Suspension travel at all four corners, in mm. Note that the remaining suspension travel is shown (maximum suspension travel - packers - suspension travel). In graph view, the line [max. suspension travel - packers] is overlayed.
Suspension Travel slow part. Suspension travel without fast changes.
Wheel speed. Speed of each wheel, in kph or mph.
Wheel spin. Wheel speed minus car speed. Each wheel speed is adjusted using the car's wheel base and front and rear tread, because in a corner the outside wheel speed is higher than the inner wheel speed (if there's no wheel spin or locking).
Camber. Lean relative to road for each wheel. Static camber is overlayed.
Angle. Angle in degrees.
Longitudal Acceleration. Acceleration in longitudal direction, in G.
Lateral Acceleration. Acceleration in lateral direction, in G.
Acceleration. Combined longitudal and lateral acceleration, in G.
Steering Radius. The radius the car would drive with the current steering input (angle of front wheels), in meters.
Actual Radius. The radius the car is driving with (distance from car to center of turning circle), in meters.
Slip Angle. Difference between steering radius and actual radius, measured in steering degrees. Negative indicates understeer, positive indicates oversteer.
Ride Height - Suspension Travel. Difference between ride height and suspension travel.
Front Anti-roll bar Extension. Difference between left front suspension travel + packers and right front suspension travel + packers.
Rear Anti-roll bar Extension. Difference between left rear suspension travel + packers and right rear suspension travel + packers.
Tyre Load. Vertical force for each wheel.
Longitudal Tyre Force. Longitudal force for each wheel.
Lateral Tyre Force. Lateral force for each wheel.
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.
All Wheels. Special meta type for selecting all four wheels at once.
Left Rear. The left rear wheel (LR).
Right Rear. The right rear wheel (RR).
Left Front. The left front wheel (LF).
Right Front. The right front wheel (RF).
Sum. The sum of all four wheels.
Sum Rear. The sum of the rear wheels.
Sum Front. The sum of the front wheels.
Avg. The average of all four wheels.
Avg Rear. The average of the rear wheels.
Avg Front. The average of the front wheels.
Delta. The difference between average of the rear wheels and the average of the front wheels.
Delta Left. The difference between the left rear wheel and the left front wheel.
Delta Right. The difference between the right rear wheel and the right front wheel.
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.
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):
At the top various perf file specific information can be shown. The information shown depends on the perf file type.
Lap time. The actual lap time driven in this lap.
Date. The date and time when the file was saved.
#Samples. The number of samples that are recorded in the perf file, which depends on the lap time and the frame rate.
Sample rate. This is simply the number of samples divided by the lap time. The number of samples and sample rate shown for F1RS perf files are only for distance, time, speed and revs. All the other values have a sample rate three times as low, and I just duplicate entries to make the sample rate equal for all graph types.
Average Speed. The first number is the average of speeds in all samples. The second number is the track distance divided by the lap time.
Minimum speed. Maximum speed. Average revs. Minimum revs. Maximum revs. Average throttle. The average amount of throttle during the lap, in percentage. Throttling full/between/none. "Full" means the percentage of 100% throttle during the lap, "none" the percentage of 0% throttle, and "between" the remaining percentage.
Average brake. The average amount of brake during the lap, in percentage.
Braking full/between/none. Similar to throttling full/between/none.
Free roll. The percentage of simultaneous 0% throttle and 0% brake during the lap.
Average steering. Usually, this is negative for a clockwise circuit and negative for an anti-clockwise circuit.
Maximum steering left. Maximum steering right. Note that steering right is shown negatively in the other views.
Gear shifts. The number of gear shifts, both up and down.
Driven distance. The actual distance driven by the car.
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.
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.
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.
This view shows driving lines of the cars and optionally an underlying track map.
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.
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.
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.
Use the menu command View|Options to open the options dialog. In this dialog you can change the following options:
Primary Game. Select the game you usually use F1PerfView for.
Path. Enter the path for each game you're using. Especially important for LFS as it is needed for the track view, and F1PerfView can't determine its path by itself.
Use path as default. If checked, the file open dialog will default to the game's perf file path. The relative directories is "data\raf" for LFS. If not checked, the current directory will be used.
Use alternative file dialog. If checked, the file open dialog will be replaced by a special dialog that shows lap time, track, lap number and date. It lacks directory browsing, but instead it shows all files recursively at once.
Flicker-free drawing. If checked, the graph view and track view will be drawn without flickering (which is a bit slower).
Use metrics. If checked, all distances/speeds units will be metric, else they will be English.
Open file with. Select the view that each opened perf file will start with.
Statistics print header. The header line that will be printed above the statistics.
Using F1PerfView with LFS
There is a vast and frankly daunting amount of information available from F1PerfView and it’s not presented in the most userfriendly or understandable format. I’m not about to explain everything it can do, mainly because that would take a considerable effort on my part. However I will explain the basics of it so you can play around with it yourself.
First, you need to drive some laps in a car of your choice, around a track of your choice, and save a replay of it. When watching the replay, decide on the lap you want to analyse (preferably a clean, fast lap) then, on the lap before, bring up the ingame menu and click on “output lap data”. Enter a filename and click OK. The next time your car crosses the start/finish line, output of lap data will begin and continue until either you end the replay, the replay ends, or your car cross the start/finish line again.
Once this has been completed, you will have one or many .RAF (Replay Analyser File) files in your “raf” folder, which is located inside the “data” folder of the main LFS folder (which will be wherever you extracted the game). Assuming you have downloaded and installed F1PerfView (see the link at the start of this guide), you will be able to open these files from within the program.
From here you will be presented with “Stat View” a basic table of information and statistics about the lap your drove. There are three other options:
Graph View – the easiest to comprehend and probably the most useful because of this, it allows you to select what information you’d like to display along each access (I’d recommend leaving distance as the x axis for most graphs) and to view a whole wealth of information. Interpreting what it all means though isn’t easy, and deciding how to improve your setup/driving from it, is even harder. I’m sure there must be a guide for F1PerfView out there someone so I won’t go into further detail on the graphs.
Text View – if you’re feeling particularly nerdy, you can view the raw data outputted by LFS and analyse it that way, though unless you actually need proper reading I’d suggest sticking with the graph view.
Track View – this is handy because it allows you to see exactly where on the track you were when a particular piece of information was recorded. So, for example, if you were looking for more grip on a particular corner, you could look up the data when the dot on the map is at that corner and look at the telemetry there to hunt for problems.
There are various other buttons which I also won’t explain here – just have a play, everything is quite simple.
Finally, another particularly useful option is that you can export data to other formats (namely CSV) so that you can open the data in another application – such as a spreadsheet – for further analysis.
Analyze for Speed
Analyze For Speed is a tool which can be used for displaying and analyzing Live For Speed replays (.raf extension) in a fully 3D-rendered environment. AFS is able to load and play up to six replays simultaneously making it very easy to compare the driving lines. You can also analyze the telemetry data as it is presented at the same time as the replay is played back. Playback speed can be changed as well.
The tool has been created by Jay Heggerud up to version 0.05. After that Jussi Mäkelä has taken over the development of AFS.
Unfortunately he is no longer hosting the file.
Fortunately Bob Smith kindly provided it again through his website : http://lfs.thefloatingwidget.net/files/AFS-1.00.zip
The tool develops constantly and you will find bugs in it but please bear with it. Whenever you think you've found a bug, please contact the author: [email protected]
AFS comes with a simple installer, just follow the instructions and you'll be alright. By default AFS will be installed in Program Files\AnalyzeForSpeed.
- Load multiple replays and draw them on the track
- "Play" the replays back at various speeds and synchronize replays at custom points on the track
- Lap telemetry overlay
- Chase & top-down views
- User-selectable display units
- Under braking the racing line can be optionally be drawn with different colour
- AFS will show if loaded lap(s) is a HLVC legal lap or not
- AnalyzeForSpeed can now be installed outside the LFS directory
- Ticking / unticking "Faded racing line under braking" in preferences will come into effect after restarting AFS!
- You must also download the SMX files from http://www.liveforspeed.net/?page=analysers
LFS Replay Analysers work by reading a RAF file created by Live for Speed and displaying the data in their own way on graphs or map displays. To create a RAF file, record a single player replay and then watch the replay. At any time during the lap BEFORE the lap you wish to analyse, press ESC and click on "Output lap data" and type in a name for the RAF file. Output will start when the car crosses the finish line. The RAF will be stored in the "lfs\data\raf" folder.
Why place the dividing line in the middle of the straight?
It becomes obvious that it would be great to place the segment divisions just before a corner. Unfortunately this becomes impossible due to different drivers, cars, and race conditions. The best compromise tends to be somewhere in the middle of a straight.
But I want to analyze the corner!
Good point. AFS includes the ability for automatic corner detection. It should be noted however that since the corner is automatically detected, this point will vary from replay to replay.
LFS Replay Analyser
Latest Version Since Last LFS Manual Update: v0.5 Official Forum Thread
LFS Replay Analyser (LRA) is a tool for analysing replay files from the Live For Speed racing simulator. It can help you to analyse your driving and your setup, and to compare your own laps with those of others. LRA can display all kinds of telemetry data, both in graph views and in map views. According to many users, this program has an easy-to-use interface.
- Multiple, synchronised graphs
You can open multiple graphs, to view several kinds of telemetry data in parallel. Zooming and scrolling of these graphs is synchronised: they always show the same part of the track.
- Difference graph
Graphs can not only plot the absolute values for each lap, but also the difference with some other lap. This is especially useful when you select "time" as data type: the time difference graph shows where, compared to other laps, you lose or gain time.Track map: The track map is the "radar" for the graphs. It shows which section of the lap is displayed in the graphs. A moving cursor reflects the position of the mouse, when it is above one of the graphs. This also works in the other direction: scrolling and zooming of the graphs can be changed by clicking or dragging the mouse inside the track map.
- Track map
The track map is the "radar" for the graphs. It shows which section of the lap is displayed in the graphs. A moving cursor reflects the position of the mouse, when it is above one of the graphs. This also works in the other direction: scrolling and zooming of the graphs can be changed by clicking or dragging the mouse inside the track map.
- Driving lines display
A zoomable top-down map of the track shows the driving line for each loaded lap.
- Custom "Open file" window
The window presents a list of all your RAF files, and shows the main properties of each file: car, track, laptime, etc. You can also filter the list, so it shows only the files for a specific car and/or track.
- Setup data retrieval
Telemetry files contain several kinds of setup data, such as the settings for springs and dampers, and the gear ratios. LRA reads these settings, and displays them in the Properties pane.
- Customisable panes
The various panes - Legend, Track map, Driving line, and Properties - can be resized. You can also move them to another position inside the main window, by dragging its caption. You can even "float" them, i.e. detach them and place them in a separate window outside the main window.
When you have positioned the graphs and panes to your liking, you can store them in a preset. Hotkeys enable you to switch quickly between the presets that you made.