Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Visual C++ gets GPU-accelerated graphics and animations, Intrinsics

Visual C++ gets GPU-accelerated graphics and animations, Intrinsics

This item in japanese

The new Visual Studio 2010 SP1 improves Visual C++ with GPU-accelerated graphics and animations support and Compiler-Intrinsics, which allow for highly efficient computing.

MFC-based GPU accelerated graphics and animations

The SP1 update enables the following two technologies for Microsoft Foundation Class Library (MFC):

- Direct2D, a hardware accelerated, immediate-mode, 2-D graphics API that provides high performance and high quality rendering for 2D geometry, bitmaps and text. Direct2D provides Win32 developers with the ability to perform 2-D graphics rendering tasks with superior performance and visual quality. The API is designed to interoperate well with GDI, GDI+, and Direct3D.

- Windows Animation Manager, which enables rich animation of user interface elements. Windows Animation itself does not perform the rendering; it can be used with any graphics platform, including Direct2D, Direct3D, or GDI+.

MFC is an application framework for programming in Windows, written in C++. It provides much of the code necessary for managing windows, menus, and dialog boxes; performing basic input/output; storing collections of data objects; and so on. With these new features, developers will get even more tools at their disposal to create rich animations.

New AMD and Intel instruction set support

Intrinsic functions or Intrinsics have been added to Visual C++ to enable extensions on the AMD and Intel new microprocessors that will be released this year. This will allow for highly efficient computing by removing the overhead of a function call.

Intrinsics are functions that are built into the compiler rather than libraries. This does affect portability of code, because the same intrinsics may not be available with a different compiler and some intrinsics can be specific to some architectures. However since the optimizer has built-in knowledge of how most intrinsics behave, they can also allow for a lot of optimizations resulting in performance benefits.

Issues fixed

The SP1 also fixes many C++ specific issues in Visual Studio. Importantly, it brings the “managed incremental build” a feature that was present VS 2008 but strangely missing in VS 2010. This feature allows for compiling of only affected projects after a code change, instead of doing a full recompile of all the projects.

SP1 also fixes a couple of annoying issues: Visual studio crashing in a C++ project when hiding or showing all files in a project and mixed call stacks breaking while debugging.

A list of all the issues can be found along with the complete update on the Visual C++ Team blog post.

Compatibility Issues

All is not as rosy as it seems though – there seems to be at least one major compatibility issue with SP1 that affects C++ developers. Microsoft is recommending users with standalone Windows SDK for Windows 7 and .NET Framework 4 should keep away from SP1 for now. Apparently, an issue causes IA64 compiler and Visual C++ libraries to be removed when SP1 is installed for some versions of Visual Studio. Microsoft is working on a fix for Windows SDK to resolve this.

Rate this Article