Здравствуйте, Stanislav V. Zudin, Вы писали:
SVZ>А если убрать из теста обращение к гуёвым методам?
SVZ>SVZ>...
SVZ> if (!(i % 100000))
SVZ> {
SVZ> int val = ui->progressBar->value();
ui->>progressBar->setValue(++val);
SVZ> }
SVZ>...
SVZ>
SVZ>Какие будут результаты?
Практически теми же, что и есть (эти обращения погоды не делают).
Если уже делать всё точно, то вместо измерений времени
std::time_t timeStart = std::time(0);
правильнее было применить мультимедийный таймер:
https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd757629(v=vs.85).aspx
Однако, ИМХО, это уже Windows специфика, которая не позволит компилировать данный тест для Linux.
SVZ>Мне тоже любопытно, но mingw у меня не установлено.
Качаем (в составе Qt) отсюда:
https://download.qt.io/official_releases/qt
и вперёд!
Выяснилось — что отрезок выше можно заменить на:
if (!(i % 100000))
QCoreApplication::processEvents();
Это обеспечит прокачку сообщений OS Windows (и поможет избежать лишних тормозов и задержек).