如何实现.NET PointToClient功能?

时间:2016-10-01 14:16:07

标签: c# .net

我的游戏要求我每一帧调用PointToClient,虽然这可能不会导致任何类型的瓶颈,但我想查看源代码,看看我是否可以提高函数的性能。我知道大多数.NET函数都有很多可以重构的膨胀,我以前已经使用过几个.NET函数。我查看source reference page并发现PointToClient调用NativeWindow.PointToClient,后者又调用本机函数MapWindowPoints。

我的问题是:如何查看本机源代码?如果这样的存储库不可用,那么该功能通常如何实现呢?

1 个答案:

答案 0 :(得分:2)

本机方法可能比使用C#更快。如果您真的需要速度,请使用DirectX或某些游戏API。

除此之外,为了获得相对于控件在屏幕坐标中给出的点的局部坐标(客户端坐标),必须减去该控件的屏幕坐标。为了获得屏幕坐标,请按照父链到表格添加本地坐标。

自己做这件事真的不值得。