新しいVisual Studio 2010 SP1では、Visual C++のGPUアクセラレーションによるグラフィックとアニメーションのサポートとコンパイラ組み込み機能の向上により、さらに効率的なコンピューティングが可能になった。
MFCベースのGPUアクセラレーションによるグラフィックとアニメーション
SP1の更新で、Microsoft Foundation Class Library (MFC)は、以下の2つのテクノロジが有効になっている
- Direct2Dは、ハードウェアアクセラレーション、イミディエートモード、高いパフォーマンスと品質の2Dジオメトリ、ビットマップ、テキストを描画する2DグラフィックスAPIである。Direct2Dは、Win32開発者に優れたパフォーマンスと見栄えが実現できる2Dグラフィックスの描画タスクを提供する。APIは、GDI、GID+、Direct3Dと相互運用できるように設計されている。
- Windows Animation Managerは、ユーザーインターフェイスエレメントのリッチなアニメーションを可能にする。Windows Animationは、それ自身が描画するわけではない。これは、Direct2D、Direct3D、GDI+を含むあらゆるグラフィックスで使用することができる。
MFCは、C++で書かれたWindowsでプログラミングするためのアプリケーションフレームワークである。ウィンドウの管理、メニュー、ダイアログボックスの管理に必要な多くのコード、基本的な入出力、データオブジェクトのコレクションでの保持など様々な機能を提供する。これらの新しい機能により開発者は、開発者はさらにツールでリッチなアニメーションを作成することができるようになる。
新しいAMDとIntelの命令セットのサポート
組み込み機能、またはIntrinsicsは、今年リリースされるAMDとIntelの新しいプロセッサの拡張機能を有効にできるようにVisual C++に追加された。これにより、ファンクションコールのオーバーヘッドを無くして、非常に効率的なコンピューティングが可能になる。
Intrinsicsはライブラリではなく、コンパイラに組み込まれる機能である。これは、コードのポータビリティに影響を与える。なぜならば、異なるコンパイラで同じ組み込み機能は有効でなく、いくつかの組み込み機能は、それぞれのアーキテクチャ特有のものである。しかしながら、組み込み機能がどのように振る舞うかを知っているオプティマイザにより、パフォーマンスの恩恵がある多くの最適化が可能になる。
修正された問題
SP1はまた、Visual StudioでC++固有の多くの問題を修正している。重要なのは、VS 2008で提供されていたがなぜかVS 2010では提供されなくなっていた「マネージ インクリメンタル ビルド」が提供されるようになった。この機能は、コードを変更したプロジェクトをコンパイルするときのみ、すべてのプロジェクトを完全にリコンパイルする代わりになるという効果がある。
SP1はまた、C++プロジェクトで、すべてのファイルを表示、または非表示にしたときとデバッグで混合コールスタックを停止したときにVisual Studioがクラッシュするという2つの迷惑な問題を修正した。
すべての問題のリストは、完全なアップデート情報とともにVisual C++チームブログの投稿に記述されている。
互換性の問題
すべてが楽観視できるものだけではなく、SP1にはC++開発者に影響する少なくても1つの大きな互換性の問題が存在している。マイクロソフトは現時点では、単体のWindows SDK for Windows 7 and .NET Framework 4のユーザーは、SP1の適用しないことを推奨している。いくつかのバージョンのVisual StudioでSP1をインストールしたとき、IA64コンパイラとVisual C++ライブラリが削除されてしまう問題がある。マイクロソフトは、この問題を解決するために修正を行っている。