相關文章
欄目分類 classification
關于ASIO驅動開發(fā)的3點忠告和注意事項
1. 音頻軟件由于數(shù)據(jù)吞吐量大,并且ASIO又要求低延遲和高性能保證,所以需要提高數(shù)據(jù)處理線程的優(yōu)先級。這樣處理后的效果是相當明顯的;讀者可嘗試把提高和不提高優(yōu)先級兩種情況進行比較:把ASIO驅動的延遲降到最低,然后修改代碼分別在提高優(yōu)先級和不提高優(yōu)先級的情況下運行軟件。經(jīng)過我多次測試后發(fā)現(xiàn),不提高優(yōu)先級的時候爆音情況普遍嚴重。
2. ASIO驅動初始化函數(shù)的調用需要注意先后順序。比如一般只在createBuffers被調用后才能調用getLatencies獲取延遲值。讀者應閱讀SDK中的說明。
3. 四個ASIO回調函數(shù)非常重要。音頻軟件向ASIO驅動注冊這些函數(shù),自己是不會調用的,而是由ASIO驅動在適當?shù)臅r候調用。初始化結束后,剩余的工作大部分都是由這幾個回調在操作著。另外一個要點是,回調函數(shù)的調用是不被音頻軟件控制的,它們的運行環(huán)境不可知,可能在主線程中,也可能在輔助線程中。所以要注意線程同步。
2. ASIO驅動初始化函數(shù)的調用需要注意先后順序。比如一般只在createBuffers被調用后才能調用getLatencies獲取延遲值。讀者應閱讀SDK中的說明。
3. 四個ASIO回調函數(shù)非常重要。音頻軟件向ASIO驅動注冊這些函數(shù),自己是不會調用的,而是由ASIO驅動在適當?shù)臅r候調用。初始化結束后,剩余的工作大部分都是由這幾個回調在操作著。另外一個要點是,回調函數(shù)的調用是不被音頻軟件控制的,它們的運行環(huán)境不可知,可能在主線程中,也可能在輔助線程中。所以要注意線程同步。
說點什么吧
- 全部評論(0)
還沒有評論,快來搶沙發(fā)吧!