Вопрос в рамках техподдержки. ПАРБ 00008-26
Использую ГИС Конструктор для Qt Designer для прибора на АРМ.
Рисую фрагмент карты. Хочу, чтобы отрисовка не занимала времени больше заданного.
Для этого
mapSetBreakCallAndParmEx(m_hMap, break_callback, NULL);
mapSetPaintStepEx(m_hMap, 200);
mapPaintToXImage(m_hMap, &image_desc, 0, 0, &m_rect);
mapSetBreakCallAndParmEx(m_hMap, NULL, NULL);
колбек такой
long WINAPI MapLoad::break_callback(void*, long)
{
qDebug() << "MapLoad::break_callback, t="
<< map_draw_time.elapsed();
if (map_draw_time.elapsed() > 500)
{
qDebug() << "MapLoad::break_callback, timeout";
return 1;
}
if (m_stop_flag)
return 1;
else
return 0;
}
вывод отрисовки
MapLoad::break_callback, t= 902
MapLoad::break_callback, timeout
map_draw_time.elapsed() 1718
ВОПРОСЫ:
1) правильно ли я все делаю?
2) первый раз колбек дернулся спустя 902 мс. как сделать чтобы он вызывался через заданной мной время?
3) между тем, как колбек вернул 1 и выходом из функции mapPaintToXImage прошло около 800 мс. Почему так?