Как ускорить вывод в консоль с FillConsoleOutputCharacter()

Здравствуйте пытаюсь сделать видео BadApple в консоли, но мне не хватает скорости вывода символов даже с функцией FillConsoleOutputCharacter(). Вот мой код:

int main()
{
    HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    
    PlaySoundW(TEXT("BadAppleMusic.wav"), NULL, SND_FILENAME && SND_ASYNC);
    int frame = 43;

    while (frame <= 6571) 
    {
        showImage(frame, hOut);
        frame++;
    }
}

void showImage(int index, HANDLE hOut)
{
    DWORD written;
    string name = "BadApple" + to_string(index) + ".png";
    Mat notsizedimage = imread("D:/BadApple/BadApple C++/Frames/" + name);
    Size size(100, 50);
    Mat image;
    resize(notsizedimage, image, size, 0.0, 0.0, 1);
    COORD point = { 0,0 };
    

    for (int x = 0; x < image.rows; x++) 
    {
        for (int y = 0; y < image.cols; y++)
        {
            Vec3b vec = image.at<Vec3b>(x, y);
            point = { short(y), short(x) };
            if (vec.val[0] < 127 && vec.val[1] < 127 && vec.val[2] < 127)
            {   
                FillConsoleOutputCharacter(hOut, '#', 1, point, &written);

            }
            else 
            {                               
                FillConsoleOutputCharacter(hOut, ' ', 1, point, &written);
            }
        }
    }
}

P.S. Извините за кривой код.


Ответы (0 шт):