2009年3月11日 星期三

BCB - Double Buffered

寫程式經常在畫面重新繪製時,會出現閃爍的狀況
這時候就需要 Double Buffered 的機制來防止這樣子的閃爍。

在BCB底下我找到了兩種方法:
1. 先暫存現在的畫面,然後在暫存的記憶體空間畫上新的畫面,再貼回去顯示的畫面上。
 使用方式可以參考這一篇文章 Displaying your bitmaps quickly

不過我用了之後,好像沒啥效果,所以又找到了第二種方法:
在Panel或Form上設置DoubleBuffered的屬性為true即可,簡單又有效。

Panel->DoubleBuffered = true;

Form->DoubleBuffered = true;

另外要播放聲音的話,很簡單,像下面那樣就可以啦。
#include
sndPlaySound(path_file,SND_ASYNC);

沒有留言: