Rows.AddRange(rows)
и теперь все добавляет даже в 1 потоке весьма быстро, и даже теперь с ParallerFor
теперь добавление даже 100 строк ощущается мгновенно. Но всерано посмотрю статью может еще что-то можно оптимизировать!tablesForSavingData = await Task.Run(()=> Serialization.DownloadTable(filePath));
await Task.Run(() =>
{
tablesForSavingData = Serialization.DownloadTable(filePath);
if (tablesForSavingData.Count != 0)
{
int i = 1;
foreach (var table in tablesForSavingData)
{
tablesForViewData.Add(
table.ToDataGridView("table" + (i++).ToString()));
}
}
else tablesForViewData.Add(defaultTable);
MakeTableActive(1);
Invoke(() =>
{
foreach (var table in tablesForViewData)
Controls.Add(table);
});
});
new Thread(() =>
{
tablesForSavingData = Serialization.DownloadTable(filePath);
if (tablesForSavingData.Count != 0)
{
int i = 1;
foreach (var table in tablesForSavingData)
{
tablesForViewData.Add(
table.ToDataGridView("table" + (i++).ToString()));
}
}
else tablesForViewData.Add(defaultTable);
MakeTableActive(1);
Invoke(() =>
{
foreach (var table in tablesForViewData)
Controls.Add(table);
});
}).Start();
await new Task(() =>
{
Invoke(() =>
{
tablesForSavingData = Serialization.DownloadTable(filePath);
if (tablesForSavingData.Count != 0)
{
int i = 1;
foreach (var table in tablesForSavingData)
{
tablesForViewData.Add(
table.ToDataGridView("table" + (i++).ToString()));
Controls.Add(tablesForViewData[i - 2]);
}
}
else tablesForViewData.Add(defaultTable);
MakeTableActive(1);
});
});
std::vector<type>* vec = new();
auto vec = new std::vector<type>();