Nie napisałeś jaki system (windows/linux ?) za pomocą jakich bibliotek renderujesz bitmapy(GDI/GDI+/DDraw/D3D/Allegro/SDL ?) wiec ciężko coś poradzić.
Ale co do potrójnego buforowania - to służy ono nieco czemuś innemu niż zapobieganiu samego migania, bo te można wyeliminować za pomocą double buffera - wiec jeśli na podwójnym buforze masz cuda, to znaczy, że pewnie nie synchronizujesz z odświeżaniem.
Samo potrójne buforowanie to metoda pozwalająca na wyeliminowanie oczekiwania pomiędzy czasem skończenia renderowaniem, a zmianą bufora ramki. Dzięki czemu można renderowanie synchronizować z pionowym odświeżaniem ekranu a zarazem nie czekać w aplikacji na to odświeżenie, czyli de facto uzyskiwać FPS takie jak bez vsynca z wyświetlaniem z vsync-em.