Как увидеть вывод TextOutW (...) после каждого вызова? - PullRequest
2 голосов
/ 01 февраля 2010

При записи на дисплей с помощью:

::TextOutW( pDC->m_hDC, x, y, &Out, 1 );

Отображается на экране только после каждых 15 вызовов (15 символов). Только для отладки, я хотел бы видеть новый символ на дисплее после каждого вызова Я пробовал :: flushall () и несколько других вещей, но без изменений. ТИА

Ответы [ 2 ]

1 голос
/ 01 февраля 2010

::flushall() для iostreams, так что это никак не повлияет на вывод экрана Windows. Я никогда не пробовал, но, основываясь на документации, я считаю, что GDIFlush() может быть тем, что вы хотите. Вы также должны иметь возможность использовать GDISetBatchLimit(1);, чтобы заставить каждый вызов выполняться сразу после вызова.

1 голос
/ 01 февраля 2010

Вызовы функций GDI накапливаются и вызываются партиями по соображениям производительности. Вы можете позвонить GdiFlush после вызова TextOut, чтобы немедленно выполнить рисование. В качестве альтернативы вызовите GdiSetBatchLimit (1) перед выводом текста, чтобы полностью отключить пакетирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...