Я пытаюсь нарисовать градиентный фон (горизонтальный и вертикальный), проблема в том, что это приводит к высокой загрузке процессора. Размер градиентной краски - 32767x32767, но, конечно, я рисую только на основе ширины / высоты экрана и смещения (начальная точка рисования). Насколько я знаю, я не могу поместить такую большую картину в память, чтобы краска создавалась динамически. Я использую этот код прямо сейчас (на 1600x900 он использует 10-20% процессора, без градиентной краски (зацикливание SDL_RenderDrawLine) это просто 0%):
SDL_SetRenderDrawColor(Renderer, 59, 156, 156, 255);
SDL_RenderClear(Renderer);
for (int X = 0; X < Width; X++)
{
SDL_SetRenderDrawColor(Renderer, 75, 0, 130, X * 255 / 0xfff);
SDL_RenderDrawLine(Renderer, X, 0, X, Height);
}
for (int Y = 0; Y < Height; Y++)
{
SDL_SetRenderDrawColor(Renderer, 75, 0, 130, Y * 255 / 0xfff);
SDL_RenderDrawLine(Renderer, 0, Y, Width, Y);
}
Есть ли лучший способ решить эту проблему?