Каждый раз когда я что-нибудь рисую на окне нужно вызвать Redraw для перерисовки окна. Как запустить поток обновления окна или что сделать чтобы окно перерисовывалось постоянно и имело FPS?
У вас перепутаны причина и следствие. Вы пишете "Каждый раз когда я что-нибудь рисую на окне нужно вызвать Redraw для перерисовки окна", но на самом деле все происходит ровно наоборот - рисование в окне является результатом RedrawWindow (или, что чаще, результатом InvalidateRect/InvalidateRgn).
1) Когда вам необходимо обновить часть окна, вы там ничего не рисуете, а вызываете Invalidate*, объявляя часть окна требующей обновления. То же самое может сделать и Windows. Вызывать функцию RedrawWindow обычно нет необходимости, она делает то же самое, что Invalidate*, но при этом форсирует WM_PAINT. Как правило, это лучше оставить на усмотрение системы.
2) Вы должны также написать обработчик WM_PAINT, вот он и рисует все что надо. Устанавливается clipping region (чтобы не тратить времени на отрисовку не изменившихся областей), а дальше рисуете как душе угодно - со стиранием фона, через bitblt, и т.д и т.п. Этот обработчик работает в том же потоке, что и цикл сообщений (в главном потоке то есть), и вызывает его система.
Ни создавать отдельный поток отрисовки, ни перерисовывать окно постоянно не нужно. Все уже сделано грамотно и оптимально, вряд ли вам удастся как-то ускорить рисование. Если же главный поток тратит много времени на вычисления, их и нужно вынести в рабочий поток, а главный пусть и дальше занимается отрисовкой и вообще UI.
Если нужно в маленьком окошке постоянно выводить FPS или еще что, по таймеру вызывайте InvalidateRect для этого кусочка экрана, а выводите его также в обработчике WM_PAINT.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть необходимость в написании пользовательских скриптов на Python в программе написанной на С++(QT MinGW-32bit)