1
我不知道.NET CLR是否支持P/Invoke粗化。P/Invoke粗化
例如,如果我們有三個後續的P/Invoke調用處理Blittable型:
Native.DrawPolygon(1.0f, 1.0);
Native.DrawPolygon(2.0f, 1.0);
Native.DrawPolygon(3.0f, 1.0);
那麼我們就可以進行管理,對非託管上下文切換爲全塊只有一次,而不是做它毫無意義地三次。
不可能。並且沒有什麼意義,編組只是繪製多邊形花費的一小部分。或者如果你做得對的話,你會挑起其他任何東西。 –
@Hans P/Invoke不僅僅是封送處理。例如,它會更改GC模式。 「P/Invoke的開銷介於10到30個x86指令之間」 - 不包括編組。一遍又一遍地做一個很大的開銷(在我的例子中有60個無意義的指令)。同樣在我的情況下,多邊形不會立即繪製,而是被緩衝。 – carsten