【发布时间】:2012-04-23 12:01:24
【问题描述】:
我正在制作一个将图像转换为文本 RRR GGG BBB 字符串数组的应用程序。
它在处理小图像时非常快,但是当输入图像的像素数很高时,应用程序会逐渐变慢。
应用程序运行x,y 循环遍历输入图像的所有像素,扫描每个像素并将其 RGB 格式的值添加到最终字符串中,该字符串将在扫描整个图像后保存为文本。
在内置分析器的帮助下,我发现System.String.Concat(string,string) 花费的时间越长,最终字符串越大。
然后我尝试制作一个临时字符串,该字符串将保存 1 行的计算结果,并在输入下一行之前将其添加到最终字符串中。现在它的工作速度快了大约十倍,但仍然接近尾声,性能下降。
但最终我的所有测试图像都比真实图像要小。如何在更大的图像上保持较高的连接速度?
【问题讨论】:
-
你如何处理字符串?您可以保存/发送其中的一部分吗?
标签: c# .net string-concatenation