で、Sounds shutter機能がなぜ Vista に対応していないかというと、 Vista の Saund 関連が大幅に変更されてしまって、従来のやり方では全てのミュートをすることができないのです。
Microsoft が発表して、 Apple が先取りした Core Audio API という COM 技術を使ったりするのですが、Free の Borland C++ 5.5 では、 COM を取り扱えないようで、、、色々挑戦してみたのですが、今のところ駄目でした。
ということで、 Vector さんでダウンロードできる shutter は WIndows XP ではフル機能が使えますが、 Vista では Sounds shutter は使えないことになりました。
それで、仕方なく、不本意で、とても悔しいのですが、 Visual C++ 2008 でも shutter を作りました。
Visual C++ ならば、当然 COM が使えるからです。
これで、 Windows 2000 でも、 XP でも、 Vista でも Window shutter 、 Sounds shutter 、 System shutter の三拍子そろった shutter ができたわけですが、 Vector さんでは公開しません。
というのも、Borland 版とコードはほとんど同じですが、 Visual Studioで作ったアプリケーションはオーバーヘッドがでかいため、極端に性能が悪いのです。
プログラム言語の比較 | 実測処理時間 | 総合処理時間 |
Java | 250ms | 10000ms |
C言語(Borland C++) | 141ms | 2000ms |
Visual Basic for Applications | 5046ms | 23000ms |
Visual Basic 6 | 250ms | 10000ms |
Visual Basic .net | 480ms | 35000ms |
上記表は、 shutter ではない色々な コードでの耐久テストの結果です。(Athron1.6GHz、Windows2000での計測値)
.net アプリの群を抜く遅さがわかるかと思います。通常の C が 2 秒でできる演算が 35 秒もかかるのです。
Javaや以前のVB6でも 10 秒でできる演算をその3.5倍の時間がかかるのです。
結果としてはVBAよりも随分遅い結果となります。
本当にめちゃめちゃ性能が悪いのです。
いずれにしても Visual Studio は Vista と同じくらい残念な存在です。あの抜群のユーザインターフェイスで開発するのは気持ちよいのですが、やはりプログラマのための言語群といっていいかもしれません。できあがったソフトウェアを利用するユーザのための言語群ではないのです。できあがったソフトウェアの品質を考えると、正直なところ使えない感じがします。
おまけに、 Visual Studio 2008だけかもしれませんが、通常に組むと正常動作しないため、通常ではない手法を組み入れて(ウィンドウを閉じるのに、XPの時はPostQuitMessageを出して普通に閉じるのですが、Vistaの時はPostQuitMessageを出すと正常動作しないなど)無理やり動作させております。
ということで、一応こちらのサイトで配布はしますが、 Visual C++ 2008 & Windows Vista という強烈な構成での動作となりますので、全く持って動作保障もサポートもいたしませんので、自己責任でご利用ください。
それでも、私がテストした限りでは、とりあえず正常動作しております。
Vista にも Sound shutter 対応版 shutter のダウンロード
Borland C++ 版は Vector からダウンロードできます。
Native Client は GCC を使うので、検査のためのロスがあっても Visual C++よりは相当高速なアプリケーションができそうです。本来ネイティブで高速なアプリケーションを作るはずの Visual Studio がNative Client の Web アプリより遅くなってしまったら、本末転倒です。
Microsoft よ、立ち上がれ!
ここでの文章、画像、検証結果などは全てDreamHopeに著作権があります。リンクに関してはTopLink、DeepLinkともに構いませんが、全部・一部の「学術論文等許諾の不必要な引用」以外の引用に関しては禁止します。
Copyright (C) 2009 DreamHope All Rights Reserved . Access: