gpt4 book ai didi

c# - 如何在 C# 中增加堆栈大小? 1MB 不够。我有 32GB 可用内存

转载 作者:太空狗 更新时间:2023-10-30 01:02:54 29 4
gpt4 key购买 nike

<分区>

我在 bmp 中有以下用于“blob 填充”的代码。但是,它在循环 7201 或类似的地方耗尽了堆栈上的内存。我如何增加内存?我听说堆栈大小是 1MB,太小了!我有 32GB 内存,我想充分利用它。递归似乎是继续这样的算法的方式,如果我的堆栈不是太小的话。 (这是一个四向递归;每个函数调用都会生成四个相同的函数调用)

public HashSet<int> evalpxls = new HashSet<int>();

public String addLikePixels(int r, int c, Byte A, Byte R, Byte G, Byte B, Bitmap bmp)
{
reclvl++;
dl("Try r:" + r+ " c:" + c + " reclvl:"+reclvl);
if (evalpxls.Contains(hash(r,c)) || r>=bmp.Height || c>=bmp.Width || r<0 || c<0) return "";
evalpxls.Add(hash(r, c));
var p = bmp.GetPixel(c, r);

String curpix = "[" + r + "," + c +"]";
if (p.A == A && p.B == B && p.G == G && p.R == R) //if same color as main color
{
return curpix + addLikePixels(r + 1, c, A, R, G, B, bmp) + addLikePixels(r, c + 1, A, R, G, B, bmp) + addLikePixels(r - 1, c, A, R, G, B, bmp) + addLikePixels(r, c - 1, A, R, G, B, bmp);
}
else //if different color
return "";
}

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com