We have a WPF application running on a PC with two video cards (one fast, one slow). The default monitor is connected to the fast card. Our application starts on the "fast monitor" showing RenderCapability.Tier = 2. WPF Performance Suite confirms it's using hardware rendering. However, when I drag the app from the "fast monitor" to "slow monitor", here is what I find:
- By using WPF Performance Suite, I can tell the application is switched to software rendering mode.
- RenderCapability.TierChanged event is not triggered. (This is as expected based on this)
- Requery on RenderCapability.Tier >> 16 still gives RenderCapability.Tier = 2.
RenderCapability doesn't seem to tell the full story. Is there a way I can catch this rendering mode switch?