Problem leży w tym, że co 100ms muszę odświeżać informacje i rysować je na ekranie za pomocą TextOut(). Jednak obraz strasznie migocze. Rysowanie odbywa się wewnątrz komunikatu WM_PAINT, a wewnątrz komunikatu WM_TIMER umieściłem funkcję InvalidateRect(). Informacje do odświeżania to jakieś 200 znakow + 3 linie pionowe. U mnie na komputerze działa wyśmienicie, jednak na gorszym sprzęcie strasznie migocze. Jak można usprawnić wyświetlanie na ekranie?
0
1
Przy tak częstym odświeżaniu przydałby się double buffering. Tu jest krótki wątek jak to zrobić: http://www.cplusplus.com/forum/windows/35484/. W google pod hasłem winapi double buffering
znajdziesz sporo info. To powinno rozwiązać ten problem(tak mi się wydaje) ;)
0
Czasem takie problemy można usunąć rezygnując z flagi WS_CLIPCHILDREN w klasie okna. Jeśli jej używasz spróbuj ją wyłączyć. Powinno to podnieść wydajność. Bez tej flagi musimy sami dbać o to by poszczególne dzieci okna oraz to co rysujemy nie nachodziły na siebie.
0
Podwójne buforowanie pomogło, a flagi CLIPCHILDREN nie miałem ustawionej ale dobrze będzie wiedzieć o niej na przyszłość.