I am in the midst of profiling a WPF-based application to find areas where performance (particularly loading) can be improved. We've achieved some improvements thus far in doing some code optimization as well as NGEN-ing the assemblies that contain the WPF-based content. One thing that is important to note...we load our WPF content in a highly dynamic way...this isn't a case where we have a "static" stand-alone application. Changing this is not an option.
I am still finding, though, that a large amount of time is still spent JIT-ing. My assumption is that this JIT-ing is due to the fact that the BAML is loaded, parsed, and elements are dynamically created at runtime.
I know back in the early days of WPF that CAML was generated rather than BAML. It seems like, particularly in cases where NGEN-ing is employed, this approach would give better load performance. Are there any tools, add-ins, etc. available that could generate CAML instead of BAML. Or, alternatively, are there any tools out there that can "convert" XAML to its C# equivalent? I know that XamIt used to be out there, but the link is dead.
Any insights would be greatly appreciated!
Kelly Hilliard