0

我正在阅读C# 5.0 in a Nutshell (O'Reilly),在第一章中有一节讨论内存管理。本节解释了C#中不必要的指针使用,因为它消除了在 C++ 等其他语言中发现的不正确指针的问题。最后,它提到了性能关键热点中指针的关键用法。

那么,什么是性能关键热点及其用途?

在此先感谢您的帮助。

4

1 回答 1

5

“性能关键热点”是指成为性能瓶颈的一段代码。这可能是很多事情,但图像处理就是一个很好的例子。

假设我有一个相当大的位图,我需要对每个像素执行一些操作。这将是一个包含许多迭代的循环,并且可能会发生很多事情。在此循环的每次迭代(此“热点”)期间节省一点 CPU 和/或 IO 时间将导致整体性能大幅提升。

所以,GetPixelSetPixel在窗外。它们很慢,根据经验,我知道它们在大图像上表现不佳。在这种情况下,我可以使用LockBits将图像固定到其当前内存位置并获得指向原始图像位的指针。

这种遍历将导致更快的代码,我现在已经优化了“性能关键热点

于 2013-06-18T23:22:23.200 回答