• カテゴリー/型番 > C > Cakewalk > PLASMA > 【 Cakewalk PLASMA 】 SONARやHomeStudioは、どのようにして、WDMドライバを使った場合のレイテンシを短くしているのですか?
  • No : 74659
  • 公開日時 : 2014/01/17 15:32
  • 印刷

【 Cakewalk PLASMA 】 SONARやHomeStudioは、どのようにして、WDMドライバを使った場合のレイテンシを短くしているのですか?

カテゴリー : 

回答

SONARやHomeStudioは、サウンドカードのWDMドライバの"カーネル・ストリーミング"をバイパスすることで、レイテンシを軽減させます。

"カーネル・ストリーミング"とは、WDMドライバが、アプリケーション(SONARやHomeStudio)とデバイス(サウンドカード)との間でデータをやり取りする時の仕組みのひとつです。

まず最初に、"カーネル・ストリーミング"がどのようなものか、もっとわかり易いように、MMEドライバ(レガシドライバ)、WDMドライバがそれぞれどのような構造と働きをしているのか、概念を図で示します。

MMEドライバ
MMEドライバ(レガシドライバ)は、アプリケーションからのデータ受け取り口(インターフェース)から受け取ったデータを、デバイス(サウンドカード)に受け渡す役割をします。



WDMドライバ
WDMドライバも、MMEドライバと同じWindows用のドライバです。

ただ、MMEドライバと違い、WDMドライバは、Microsoft製(OSに付属)の部分、デバイス(サウンドカード)メーカー製の部分、それと、Kernel Mixer(K-Mixer)の各部分から成り立っています。いわば、寄せ集めのドライバです。

WDMドライバもMMEドライバと同様に、アプリケーションからのデータ受け取り口(インターフェース)から受け取ったデータを、Microsoft製の部分、K-Mixer、メーカー製の部分の順に送信し、最終的にデバイスに受け渡す役割をします。もちろん、基本的なドライバとしての働きはMMEドライバと同じです。

※ここでは詳しく説明しませんが、WDMドライバは、MMEドライバとしてアプリケーションからデータを受け取るために、MMEインターフェースをエミュレーションする部分も持っています。図では、薄いグレーで塗られている部分です。


このように、MME(レガシー)ドライバもWDMドライバも、内部構造は違うものの、アプリケーションからのデータをデバイスに渡すという働きは同じです。

もちろん、SONARやHomeStudio以外のアプリケーションでは、MMEドライバを使ってもWDMドライバを使っても、レイテンシはあまり変わりません。むしろ、内部構造が複雑なWDMドライバの方が、レイテンシが長い場合もあります。

それでは続いて、どのようにして、SONARやHomeStudioが、WDMドライバを使ったときにレイテンシを短縮しているのかについて説明します。

WDMドライバ内部のデータの流れのうち、アプリケーションから送信されたデータがMicrosoft製の部分、K-Mixerを通って、メーカー製の部分に達するまでのプロセスを、"カーネル・ストリーミング"と呼んでいます。


SONARは、この"カーネル・ストリーミング"のプロセスをバイパスして、レイテンシを短くします。
SONARは、WDMドライバのうち、メーカーが作成する部分に対して、直接信号を送ることができます。メーカーが作成する部分は、K-Mixerから出力される信号を受け取るデータ受け取り口(インターフェース)を持っているので、アプリケーションから送られるデータを受けることはできませんが、SONARは、その受け取り口に対して、あたかも、K-Mixerが信号を送っているように信号を送ります。


SONARはこのような技術を使って、WDMドライバを構成する部分のうち、Microsoft製の部分とK-Mixerをバイパスすることで、MMEドライバを使ったときや、SONAR以外のアプリケーションがWDMドライバを使ったときと比べて、格段にレイテンシを短くすることができます。

【Cakewalk ソフトウェア ユーザー・サポート終了のお知らせ】
Cakewalk ソフトウェアのユーザー・サポートは、ティアック株式会社に移管いたしました。詳しくは、「Cakewalk ソフトウェア ユーザーサポート窓口移管のお知らせ」をご覧ください。