У меня есть код, который перебирает все таблицы в текстовом документе и считывает значения ширины в каждой ячейке. По какой-то причине я заметил, что этот код работает примерно в 5-10 раз быстрее, когда окно свернуто. Чтобы получить представление, когда я запускаю его with the window maximized, it takes ~0.02 seconds to make the Cell.Width call
, но with the window minimized, it takes .001 to .0015 seconds per call
.
Кто-нибудь знает, что может быть причиной этого, и если бы я мог воспроизвести эти результаты, не свернув окно. Как пользователь, было бы очень странно видеть, как ваше окно произвольно минимизируется / максимизируется для выполнения операций.
//doc and app are the active Document and Application respectively.
try
{
app.ScreenUpdating = false;
//app.WindowState = word.WdWindowState.wdWindowStateMinimize; //enabling this improves speeds by 5x to 10x
foreach (word.Table table in doc.Tables)
{
//loop over every cell in a table and read/store its cell.Width value.
}
}
finally
{
//you can alternatively store the original values here and restore them to that. For simplicity, I did not do that here.
app.ScreenUpdating = true;
app.WindowState = word.WdWindowState.wdWindowStateMaximize;
}