SDL : consommation mémoire anormal ?

Salut à tous.
Via SDL2, quand j’essaye d’afficher quelque chose à l’écran, que ce soit en 2d ou via opengl, j’ai 40 mb de ram qui s’utilise directement.
Avec xlib en 2d j’ai 1.4 mb et 40 mb si ajout contexte opengl.

Je comprends pas à la situation.

C’est pareil chez vous ?
Est-ce normal toute cette utilisation ?

SDL2, fenêtre vide, ram: 40 mb
gcc main.c -o main -L /usr/lib/ -I /usr/include/ -lSDL2

[code]#include <stdio.h>
#include <SDL2/SDL.h>

int main(int argc, char ** argv)
{
SDL_Window * window;
SDL_Event event;
int quit = 0;

SDL_Init(SDL_INIT_VIDEO);

window = SDL_CreateWindow("ma fenetre", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);

while (!quit)
{
    SDL_WaitEvent(&event);
    switch (event.type)
    {
    case SDL_QUIT:
        quit = 1;
        break;
    }
}

SDL_DestroyWindow(window);
SDL_Quit();

return 0;

}[/code]

Utilisation fenêtre vide: ±40 mb.
Utilisation surface affichage 2d, ±45 mb.
Utilisation contexte opengl, ±45 mb.

Après des tests en rendu logiciel (dans une VM avec et sans le paquet libgl1-mesa-dri), ça correspond à peu près en effet.

C’est pas bête d’utiliser une VM j’aurais du y penser.
Je vais contacter via mail, pour voir si c’est normal ou pas.

Gtk fait ±16 mb de mémoire.

Comme dis prévu, j’ai contacte via mail.
J’ai dit globalement: que ça consommait 40 mb par défaut, j’ai donné les codes de la fenêtre vide + de l’affichage simple.
J’ai prévenu aussi la différence avec xlib et gtk.

Il m’a répondu ceci:

Traduction google:

Qu’en pensez vous ?

En comparant avec le programme atop, avec et sans libgl1-mesa-dri, j’ai ça pour main

sans libgl1-mesa-dri
--------------------
mémoire VGROW RGROW
environ   12M    3M

avec libgl1-mesa-dri
--------------------
mémoire VGROW RGROW
environ   30M    8M

Les bibliothèques partagées livrées dans libgl1-mesa-dri font au plus 14M chacune donc ça pourrait effectivement correspondre. Ce qui est étonnant, c’est que le contexte GL soit chargé avant même d’en avoir besoin… Le fait d’inclure SDL2 crée un contexte GL automatiquement quand l’environnement le permet (libgl1-mesa-dri installé) et la consommation mémoire double. A vérifier dans SDL_Init.