Ясно, что эта оптимизация не работает хорошо 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(){}
Точки вообще баг и ошибка всех редакторов, не один человек в мире за всю историю вселенной точку не вводил не в одном редакторе(Так ка нужно сделать тонну действий, как изменить размер шрифта или пера, а потом вернуть, еще цвет поменять). всегда это фигура, или жирная калякуля, кому в голову приходит точку ввести, прям всегда мискликом или забыванием про контекст метода ввода вводится и сразу ctrl-z нажатие, отсюда можно легко ввести функциях авто прямых с 1 щелчком, и вторым щелчком по второй точки. Без лишнего нажатия в редакторе смены типа ввода, что всегда отвлекает.
Я не говорю про рисования чего-то, а больше как инструмент для лекций, например любое видео лекции в ютубе это либо доска с мелом, либо просто рисование мышкой такое https://www.youtube.com/watch?v=jgBd0lxjlyo&t=1334s Но не каких блокнотов вордов, поверпоинтов, или фотошопов.
Короче это точно идея для проекта, которого в мире еще нету.