Improve speed test

pull/2192/head
2dust 2022-04-12 13:38:42 +08:00
parent 785ebc49fc
commit a3aa6c045f
6 changed files with 32 additions and 8 deletions

View File

@ -16,7 +16,6 @@ namespace v2rayN.Base
{
private static HttpClientHelper httpClientHelper = null;
private HttpClient httpClient;
private int progressPercentage = -1;
/// <summary>
/// </summary>
@ -120,7 +119,7 @@ namespace v2rayN.Base
var totalRead = 0L;
var buffer = new byte[1024 * 1024];
var isMoreToRead = true;
progressPercentage = -1;
var progressPercentage = 0;
do
{
@ -183,14 +182,24 @@ namespace v2rayN.Base
using (var stream = await response.Content.ReadAsStreamAsync())
{
var totalRead = 0L;
var buffer = new byte[1024 * 128];
var buffer = new byte[1024 * 64];
var isMoreToRead = true;
progressPercentage = -1;
var progressPercentage = 0;
DateTime totalDatetime = DateTime.Now;
do
{
token.ThrowIfCancellationRequested();
if (token.IsCancellationRequested)
{
if (totalRead > 0)
{
return;
}
else
{
token.ThrowIfCancellationRequested();
}
}
var read = await stream.ReadAsync(buffer, 0, buffer.Length, token);
@ -211,7 +220,7 @@ namespace v2rayN.Base
TimeSpan ts = (DateTime.Now - totalDatetime);
var speed = totalRead * 1d / ts.TotalMilliseconds / 1000;
var percent = Convert.ToInt32((totalRead * 1d) / (total * 1d) * 100);
if (progressPercentage != percent && percent % 2 == 1)
if (progressPercentage != percent)
{
progressPercentage = percent;
progress.Report(speed);

View File

@ -39,7 +39,7 @@ namespace v2rayN.Handler
try
{
Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().enableSecurityProtocolTls13);
UpdateCompleted?.Invoke(this, new ResultEventArgs(false, ResUI.Downloading));
UpdateCompleted?.Invoke(this, new ResultEventArgs(false, ResUI.Speedtesting));
var client = new HttpClient(new WebRequestHandler()
{

View File

@ -187,7 +187,7 @@ namespace v2rayN.Handler
};
downloadHandle2.Error += (sender2, args) =>
{
_updateFunc("", args.GetException().Message);
_updateFunc(testIndexId, args.GetException().Message);
};
var timeout = 8;

View File

@ -879,6 +879,15 @@ namespace v2rayN.Resx {
}
}
/// <summary>
/// 查找类似 Speed Test... 的本地化字符串。
/// </summary>
internal static string Speedtesting {
get {
return ResourceManager.GetString("Speedtesting", resourceCulture);
}
}
/// <summary>
/// 查找类似 PAC failed to start. Run it with Admin right. 的本地化字符串。
/// </summary>

View File

@ -457,4 +457,7 @@
<data name="SystemProxy" xml:space="preserve">
<value>System proxy</value>
</data>
<data name="Speedtesting" xml:space="preserve">
<value>Speed Test...</value>
</data>
</root>

View File

@ -457,4 +457,7 @@
<data name="SystemProxy" xml:space="preserve">
<value>系统代理</value>
</data>
<data name="Speedtesting" xml:space="preserve">
<value>测速中...</value>
</data>
</root>