<p>I'm benchmarking a WPF application on various platforms and I need an easy way to determine if WPF is using hardware or software rendering.  </p>

<p>I seem to recall a call to determine this, but can't lay my hands on it right now.</p>

<p>Also, is there an easy, code based way to force one rendering pipeline over the other?</p>

Check RenderCapability.Tier
Graphics Rendering Tiers
RenderCapability Class
[
UPDATE
]
RenderCapability.IsPixelShaderVersionSupported
- Gets a value that indicates whether the specified pixel shader version is supported.
RenderCapability.IsShaderEffectSoftwareRenderingSupported
- Gets a value that indicates whether the system can render bitmap effects in software.
RenderCapability.Tier
- Gets a value that indicates the rendering tier for the current thread.
RenderCapability.TierChanged
- Occurs when the rendering tier has changed for the Dispatcher object of the current thread.
RenderCapability.Tier >> 16
Rendering Tier 0
- No graphics hardware acceleration. The DirectX version level is less than version 7.0.
Rendering Tier 1
- Partial graphics hardware acceleration. The DirectX version level is greater than or equal to version 7.0, and lesser than version 9.0.
Rendering Tier 2
- Most graphics features use graphics hardware acceleration. The DirectX version level is greater than or equal to version 9.0.