Forum de la communauté SFML

Aide => Général => Discussion démarrée par: kripteks le Mars 02, 2013, 01:02:43 am

Titre: [résolu] ram utilisé
Posté par: kripteks le Mars 02, 2013, 01:02:43 am
Salut à tous.
J'ai sfml 2 (télécharger et compiler hier soir), sous linux.
(Je ne sais pas pour les anciennes versions mais pour les rc de la 2'ème je crois que c'est pareil depuis 1 mois environs).

L'application sfml consomme 40 mb, est-ce normal ou j'ai un soucis ?

Pour le teste, j'ai utiliser le code d'exemple par défaut dans le tuto sfml 2 (sans la partie music):
#include <SFML/Graphics.hpp>
 
 int main()
 {
     // Create the main window
     sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
 
     // Load a sprite to display
     sf::Texture texture;
     if (!texture.loadFromFile("files/image/texture.jpg"))
         return EXIT_FAILURE;
     sf::Sprite sprite(texture);
 
     // Create a graphical text to display
     sf::Font font;
     if (!font.loadFromFile("files/font/arial.ttf"))
         return EXIT_FAILURE;
     sf::Text text("Hello SFML", font, 50);


     // Start the game loop
     while (window.isOpen())
     {
         // Process events
         sf::Event event;
         while (window.pollEvent(event))
         {
             // Close window : exit
             if (event.type == sf::Event::Closed)
                 window.close();
         }
 
         // Clear screen
         window.clear();
 
         // Draw the sprite
         window.draw(sprite);
 
         // Draw the string
         window.draw(text);
 
         // Update the window
         window.display();
     }
 
     return EXIT_SUCCESS;
 }
Commande: g++ -o sfml-app main.cpp -lsfml-graphics -lsfml-window -lsfml-system
Titre: Re : ram utilisé
Posté par: Laurent le Mars 02, 2013, 10:03:05 am
Texture et police sont des ressources qui occupent beaucoup de place en mémoire.
Titre: Re : ram utilisé
Posté par: kripteks le Mars 02, 2013, 12:56:48 pm
J'ai essayé le code ci-dessous, le résultat même: 40 mb.
#include <SFML/Window.hpp>

int main()
{
    sf::Window window;
    window.create(sf::VideoMode(800, 600), "My window");

    while(window.isOpen())
    {
        window.display();
    }

return 0;
}
compilation: g++ -o app main.cpp -lsfml-window -lsfml-system
Titre: Re : ram utilisé
Posté par: Laurent le Mars 02, 2013, 02:42:18 pm
Possible que le contexte OpenGL à lui seul occupe autant de place en RAM. Tu devrais essayer un programme OpenGL minimal (typiquement glxgears, ou bien un hello world SDL par exemple) et voir sa consommation mémoire.
Titre: Re : ram utilisé
Posté par: kripteks le Mars 02, 2013, 03:27:23 pm
Glxgears renvoi 11000 fpsecond et utiliser 37 mb.
J'ai essayé de créer une fenêtre basique vide via sdl (1.2), 4-5 mb utilisé.
La même fenêtre vide avec un contexte opengl au lieu du basique (surface) = 40 mb direct.

Donc c'est bien lié à opengl.
Eeeet bien, je savais pas qu'il utilisait autant.

J'ai mit résolu.