微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SDL_RenderDrawPoint() 性能很慢并且占用太多内存

如何解决SDL_RenderDrawPoint() 性能很慢并且占用太多内存

我正在尝试制作像焦土一样的 2d 游戏:

并且我需要在游戏运行后进行一些工作后处理像素,但我注意到 SDL_RenderDrawPoint() 如果我使用它会使我的游戏变慢。 而 SDL_SetRenderDrawColor() 不会像那样影响记忆

这里有一些图片和我运行的代码来得出这个结论。

功能仅用于测试它是否会降低我的游戏速度:

for (i = 0; i < ::g_SCREEN_HEIGHT; i++) {
    for (j = 0; j < ::g_SCREEN_WIDTH; j++)
    {
        if (map.at(i).at(j) == 1)
        {
            SDL_SetRenderDrawColor(renderer,50,255,90,255);
            SDL_RenderDrawPoint(renderer,j,i);
        }
        else
        {
            SDL_SetRenderDrawColor(renderer,i);
        }
    }
}


SDL_RenderPresent(renderer);
return;

here the picture of what this code doing

在此功能之前,内存仅为 130 +- mb 我该怎么做才能让我的游戏像原来的焦耳或其他游戏一样轻?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。