Witajcie, mam takie trochę teoretyczne pytanie. Zamierzam napisać odtwarzacz muzyki, oczywiście w pełni graficzny interfejs, wszystko rysowane bezpośrednio na oknie. I teraz wychodzi pytanie, w jaki sposób to rysowanie rozwiązać. Jak na razie stosowałem timer ustawiony na ok. 50 ms i w nim odmalowywanie całości, ale nie było to rozwiązanie rewelacyjne. Za mały interwał powodował czasem spowolnienie programu, przy zbyt dużym nie wyglądało to ładnie. Szczególnie jak okno programu zostanie przykryte przez coś innego, wtedy zostaje szary ślad (z windows media playerem nie ma takiego problemu). Nasuwa mi się pewne rozwiązanie, żeby większość grafiki rysować po otrzymaniu WM_PAINT, a jedynie dynamiczne elementy (analizator widma, wyświetlacze z przesuwającymi się napisami, czy przyciski, które zmieniły stan) odrysowywać co chwilę. Ale to chyba będzie dość trudne w implementacji i coś mi się wydaje, że grafika może migać (tak, jak bez podwójnego buforowania). Ostatnio czytałem też o 'layered windows' i zastanawiam się, czy nie skorzystać z tego, co one oferują. Mają parę fajnych bajerów, ale nie działają na starszych windach (z tym się jeszcze mogę pogodzić) i nie jestem pewien, czy w ogóle nadadzą się do takich zwyczajnych okienek (gdzieś chyba wyczytałem, że one są zawsze na wierzchu, ale głowy nie dam).
Dobra, koniec tych moich pomysłów i domysłów. Pytanie brzmi, jak to wszystko rozwiązać najlepiej? Proszę o jakieś dobre pomysły. Powinno to działać jak najszybciej i nie powodować żadnych efektów ubocznych typu miganie. Z góry dzięki za odpowiedzi :).