Skip to content

Commit a2a0b91

Browse files
authored
Merge pull request #104 from catchpoint/revert-99-bugfix/update-img-paths
Revert "update speed index documentation image paths"
2 parents b44e656 + bc9e86e commit a2a0b91

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

src/metrics/SpeedIndex.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@ Historically we have relied on milestone timings to determine how fast or slow w
1414
## Introducing the Speed Index
1515
The speed index takes the visual progress of the visible page loading and computes an overall score for how quickly the content painted. To do this, first it needs to be able to calculate how "complete" the page is at various points in time during the page load. In WebPageTest this is done by capturing a video of the page loading in the browser and inspecting each video frame (10 frames per second in the current implementation and only works for tests where video capture is enabled). The current algorithm for calculating the completeness of each frame is described below, but for now assume we can assign each video frame a % complete (numbers displayed under each frame):
1616

17-
![](../img/si_compare_progress.png)
17+
![](/img/si_compare_progress.png)
1818

1919
If we plot the completeness of a page over time we will end up with something that looks like this:
2020

21-
![](../img/si_vc_progress.png)
21+
![](/img/si_vc_progress.png)
2222

2323
We can then convert the progress into a number by calculating the area under the curve:
2424

25-
![](../img/chart-progress-a-small.png) ![](../img/chart-progress-b-small.png)
25+
![](/img/chart-progress-a-small.png) ![](/img/chart-progress-b-small.png)
2626

2727
This would be great except for one little detail, it is unbounded. If a page spins for 10 seconds after reaching visually complete the score would keep increasing. Using the "area above the graph" and calculating the unrendered portion of the page over time instead gives us a nicely bounded area that ends when the page is 100% complete and approaches 0 as the page gets faster:
2828

29-
![](../img/chart-index-a-small.png) ![](../img/chart-index-b-small.png)
30-
![](../img/speedindexformula.png)
29+
![](/img/chart-index-a-small.png) ![](/img/chart-index-b-small.png)
30+
![](/img/speedindexformula.png)
3131

3232

3333
The Speed Index is the "area above the curve" calculated in ms and using 0.0-1.0 for the range of visually complete. The calculation looks at each 0.1s interval and calculates IntervalScore = Interval * (1.0 - (Completeness/100)) where Completeness is the % Visually complete for that frame and Interval is the elapsed time for that video frame in ms (100 in this case). The overall score is just a sum of the individual intervals: SUM(IntervalScore)
3434

3535
For comparison, this is what the video frames looked like for the two pages ("A" is on top and "B" is on the bottom):
3636

37-
![](../img/compare_trimmed.png)
37+
![](/img/compare_trimmed.png)
3838

3939
## Measuring Visual Progress
4040
I kind of hand-waved over how the "completeness" of each video frame is calculated and the calculating of the Speed Index itself is independent of the technique used for determining the completeness (and can be used with different methods of calculating completeness). We have two methods available that we are currently working with:
@@ -71,10 +71,10 @@ The specific algorithm we are using to calculate the speed index from the dev to
7171
### 5Mbps Cable
7272
Alexa top 300,000 from the testing done by the [HTTP Archive](http://httparchive.org/):
7373

74-
![](../img/si-cable.png)
74+
![](/img/si-cable.png)
7575

7676
### 1.5Mbps DSL
7777
Alexa top 100,000 from the testing done by the [HTTP Archive](http://httparchive.org/):
7878

7979

80-
![](../img/si-dsl.png)
80+
![](/img/si-dsl.png)

0 commit comments

Comments
 (0)