Ясно, что эта оптимизация не работает хорошо 100% времени. И без нее на конкретно вашем компьютере может хватать вычислительной мощности для 60фпс. Но если она работает достаточно часто, то почему бы ее и не применить?
А профит тут в том, что вы вот так вот обходите не все дерево. а только маленькую его часть.
public struct FastSetPixels<TColor,TBlend> : ISetPixels<TColor,TBlend> where TColor : unmanaged, IColor<TColor> where TBlend : unmanaged,IBlend<TColor>
{
public static void SetPixel(ref ColorBuf<TColor> image, ArrayView1D<int, Dense> zBuffer, TColor color, int zInd, int addr)
{
if (zBuffer[addr] < zInd)
{
zBuffer[addr] = zInd;
image.SetBlendOperation<TBlend>(addr, color);
}
}
public static void SetPixelAtomic(){}
Пишет "при запуске этого средства возникла неизвестная пробемма" 0x800700002-0x2000000
Загружал с флешке на которую записывал винду года 2-3 назад, с офф сайта.
Ща еще какой-то вводный знак на пол экрана появился.