0

我正在尝试制作一个文本框,所以我制作了此功能以在屏幕上显示文本,

我有一个 fps 调节器,所以该函数每秒调用 33 次。

我有一台旧电脑(64 mb video ram 和 1 ram + Pentium 4 CPU 2.8GHz)

当我从我的代码中删除这个函数时,它永远不会冻结,为什么?

MESSAGE (SDL_Surface *MESSAGE = NULL;) 在包含行下的代码顶部声明。(屏幕也是)

void text_box()
{
    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #1" , noir ); 
    apply_surface( 2, 503, MESSAGE, SCREEN );   
    SDL_FreeSurface(MESSAGE);                 

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #2" , noir );
    apply_surface( 2, 510, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #3" , noir );
    apply_surface( 2, 517, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #4" , noir );
    apply_surface( 2, 524, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #5" , noir );
    apply_surface( 2, 531, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #6" , noir );
    apply_surface( 2, 538, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #7" , noir );
    apply_surface( 2, 545, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #8" , noir );
    apply_surface( 2, 552, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #9" , noir );
    apply_surface( 2, 559, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #10" , noir );
    apply_surface( 2, 566, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #11" , noir );
    apply_surface( 2, 574, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);

    MESSAGE = TTF_RenderText_Solid( font,  "Ligne #12" , noir );
    apply_surface( 2, 581, MESSAGE, SCREEN );
    SDL_FreeSurface(MESSAGE);
}
4

0 回答 0