• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Śmieci w SFML

Object Storage Arubacloud
+1 głos
164 wizyt
pytanie zadane 20 czerwca 2016 w C i C++ przez C☺ndzi Stary wyjadacz (12,100 p.)

Hej,
nurtuje mnie problem z SFML, a mianowicie - przed użyciem okna i jakiejś figury i pojawieniem się ich jest okej - zużycie ramu kilka dziesiątych megabajta - po użyciu skacze do ok. 15, a po USUNIĘCIU (delete) wszystkich "sfmlowskich" obiektów spada "tylko" do 13mb. Dlaczego tak się dzieje? Czy da się temu zaradzić? Mam nieodparte wrażenie, że ktoś mi już kiedyś odpowiadał na to pytanie...

1 odpowiedź

0 głosów
odpowiedź 20 czerwca 2016 przez Dash Nałogowiec (29,650 p.)
15 mb? Jesteś pewien że np. dynamicznego tworzenia obiektów nie umieściłeś w pętli? Wtedy za każdym razem na wskaźniku tworzyłaby się nowa figura, a stara zostawała i zaśmiecała ram.
komentarz 20 czerwca 2016 przez C☺ndzi Stary wyjadacz (12,100 p.)
#include <SFML\Graphics.hpp>

int main()
{
	sf::RenderWindow window(sf::VideoMode(800, 600), "test");
	sf::Event event;

	while (window.isOpen())
	{
		while (window.pollEvent(event))
		{
			if (event.type == sf::Event::Closed)
			{
				window.close();
			}

			window.clear();
			window.display();
		}
	}
}

Powyższy kod zużywa u mnie masę pamięci:

http://i.imgur.com/0jQYjhL.png

Więc to chyba wina SFML.

@edit

Ograniczene fpsów pozwoliło na zmniejszenie użycia do ok. 15mb, a ponowna kompilacja (bez zablokowanych fpsów) ok. 16mb. Dziwne.

komentarz 20 czerwca 2016 przez Dash Nałogowiec (29,650 p.)
Brak ograniczenia fpsów powinien wpływać raczej na pracę procesora i grafiki, one odpowiadają za renderowani galopujących fpsów. Spróbuj zamiast całego graphics.hpp ładować poszczególne moduły. Chociaż w sumie może zwyczajnie ta biblioteka tyle ramu pożera, ja nie widzę nic w kodzie ciekawego.

Podobne pytania

+1 głos
1 odpowiedź 2,163 wizyt
+1 głos
1 odpowiedź 332 wizyt
0 głosów
2 odpowiedzi 245 wizyt
pytanie zadane 27 marca 2016 w Offtop przez jegor377 Stary wyjadacz (13,230 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...