Здравствуйте Dancer, Вы писали:
D>Ситуация такая: есть двумерный массив точек, значения элементов массива изменяются в цикле функцией Evaluate. Я хочу выводить этот массив на экран после КАЖДОЙ итерации цикла. Если я правильно понимаю, то просто вариант D>for(int i = 0;i < m_numOfIterations;i++) D>{ D> Evaluate(); D> InvalidateRect(CRect(10, 10, 650, 650), FALSE); D>} D>не работает по причине буферизации вывода => картинка не успевает отрисоваться до начала следующей итерации цикла. D>Я попробовал делать в цикле такую вещь: D>for(...) D>{ D>Evaluate(); D>InvalidateRect(CRect(10, 10, 650, 650), FALSE); D>::WaitForSingleObject(g_eventFinished, INFINITE); D>} D>а из OnPaint класса СDialog активировать g_eventFinished (с автосбросом) после того, как все отрисуется, но почему-то не выходит. D>Каково стандартное разрешение этой ситуации? Обязательно ли заводить отдельный поток (перенести в него вычисления или рисовать в нем)?
проводи вычисления во втором потоке и инициируй из него отрисовку.