Никак не могу довести до ума одну, казалось бы простую вещь...
Имеем переменную $InetSpeed которой присваивается определённое значение каждую секунду, как можно догадаться, эта переменная содержит данные о скорости закачки файла.
Вот по завершению закачки, мне нужно узнать среднюю скорость за этот промежуток закачки.
Я сделал, наверное (хотя точно) не правильно, но вот что у меня получилось...
Я засёк самую большую видимую скорость, самую маленькую, и вычеслил золотую середину среди них:
Код:

$LowsetSpeed = 0
$HighestSpeed = 0
$TempLowsetSpeed = 0
$TempHighestSpeed = 0
While @InetGetActive
$InetGetBytesRead = @InetGetBytesRead
;Получаем скорость закачки (кб' в секунду)
$InetSpeed = 170;Тут идёт функция _InetGetSpeed(1000) - подсчитывает скорость закачки в секунду. Возвращается скорость/в сек.
$TempLowsetSpeed = $InetSpeed
$TempHighestSpeed = $InetSpeed
If $TempLowsetSpeed < $LowsetSpeed Or $LowsetSpeed = 0 Then $LowsetSpeed = $TempLowsetSpeed
If $TempHighestSpeed > $HighestSpeed Or $HighestSpeed = 0 Then $HighestSpeed = $TempHighestSpeed
WEnd
$AverageDownloadSpeed = Round(_GetAverageSpeed($LowsetSpeed, $HighestSpeed)/1024)
Func _GetAverageSpeed($LowsetSpeed, $HighestSpeed)
Return ($LowsetSpeed / 2) + ($HighestSpeed / 2)
EndFunc
В общем в результате, если самая большая скорость была 190, а самая маленькая 65, то просто 190 делим на 2, 65 тоже делим на 2, и прибавляем результаты (получаем 127,5)...
Но я не уверен что это правильное решение, полагаю нужно в процессе (в цикле) засикать наиболее замеченные данные о скорости, и уже между ними подсчитывать среднее значение - но как это реализовать корректно, я не могу никак сообразить
Кто может, имеет время, помогите плиз разобраться