SFML community forums

Help => Window => Topic started by: crewnerd on February 01, 2011, 06:04:58 am

Title: Instantiation of sf::Window
Post by: crewnerd on February 01, 2011, 06:04:58 am
Hi

I'm using SFML to create a GL context and view some articulated rigid body motions. I like the API. But lately I noticed that my program produces different results (motions) every time it's run. After disabling different parts of the code I found that an instantiation of sf::Window changes the results even if the window is not used at all. Say calc() is the name of the function that launches the motion computation. If I call calc() alone it would always give the same results for any number of tests, but preceding calc() by an instantiation of Window, for example

sf::Window App;
calc();

, will give different results.

I checked all the code invoked by calc() against all kinds of warnings (Wall and Wextra) with no alerts. The program is running on ubuntu 10.10 32b, on a core i5-based notebook, with the intel HD Graphics integrated chip. This is version 1.6 of sfml.

How do I know for sure which of the instructions, calc() or (sf::Window App) is at fault?

Thank you.
Title: Instantiation of sf::Window
Post by: Laurent on February 01, 2011, 07:44:19 am
What does calc() do? Do you think that you could reduce it to something minimal that we could test easily (while still producing the problem)?
Title: Instantiation of sf::Window
Post by: crewnerd on February 01, 2011, 07:55:32 am
Quote from: "Laurent"
What does calc() do? Do you think that you could reduce it to something minimal that we could test easily (while still producing the problem)?


Actually it's a big code that uses several libraries to animate articulated figures...I'm afraid I can't simplify it to a reasonable size here.

But is there any memory allocation in
 sf::Window App;
?
Title: Instantiation of sf::Window
Post by: Laurent on February 01, 2011, 07:58:28 am
Quote
But is there any memory allocation in
sf::Window App;

Nop, the default constructor is empty.

You can try copying the Window class to your code (just the members & default constructor) and play with it to see what's wrong.
Title: Instantiation of sf::Window
Post by: crewnerd on February 01, 2011, 08:03:06 am
Quote from: "Laurent"
Quote
But is there any memory allocation in
sf::Window App;

Nop, the default constructor is empty.

You can try copying the Window class to your code (just the members & default constructor) and play with it to see what's wrong.


Never mind my problem, I tried to replace the call to sf::Window by a huge dummy matrix allocation and it changed the result too. So the problem seems to come from calc(). I'll try to see what I can get with valgrind.

Thanks.