I just implemented mouse picking (got to blog about it real soon!! ^^)
Anyway, I did some measurements...
In Sample1 I update 10.000 points in C#. It used to be a C++/CX IList/IVector.
Now I'm doing it in C# with pointers.
Updating 10K points in C# through C++/Cx took about 20.000 ticks
Updating it through pure C# (and pointers ) only took about 3.000 ticks.
Further tweaks were caching the pointer value (there was a method call to get the pointer) and avoid some casting reduced the time to 1.300 ticks.
Morale of the story: I was wondering about the performance of calling C++/Cx from C#?
Now I know: for intensive fine grained call into C++, it's still damn expensive!...