mirror of https://github.com/2dust/v2rayN
Improve speed test
parent
785ebc49fc
commit
a3aa6c045f
|
@ -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);
|
||||
|
|
|
@ -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()
|
||||
{
|
||||
|
|
|
@ -187,7 +187,7 @@ namespace v2rayN.Handler
|
|||
};
|
||||
downloadHandle2.Error += (sender2, args) =>
|
||||
{
|
||||
_updateFunc("", args.GetException().Message);
|
||||
_updateFunc(testIndexId, args.GetException().Message);
|
||||
};
|
||||
|
||||
var timeout = 8;
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
|
@ -457,4 +457,7 @@
|
|||
<data name="SystemProxy" xml:space="preserve">
|
||||
<value>系统代理</value>
|
||||
</data>
|
||||
<data name="Speedtesting" xml:space="preserve">
|
||||
<value>测速中...</value>
|
||||
</data>
|
||||
</root>
|
Loading…
Reference in New Issue