[SFML2.2] Optymalizacje
Ostatnio zmodyfikowano 2015-04-07 13:14
Salin Temat założony przez niniejszego użytkownika |
[SFML2.2] Optymalizacje » 2015-04-07 12:19:23 Witam, od jakiegoś czasu eksperymentuje sobie z SFML'em, jednak ostatnio popatrzyłem do menadżera zadań to było tam napisane, że użycie procesora przez moją aplikacje było wyższe niż 20%. Posiadam dość wydajny procesor, więc ta wartość powinna być znacznie niższa. Chciałbym tutaj jeszcze zaznaczyć, że to użycie nie jest zależne od długości kodu, i ilości użytych pętel, nawet kod z kursu ma bardzo podobne problemy. Więc tu moje pytanie, miał ktoś podobne problemy i wie jak je rozwiązać, a może jest to normalne i niepotrzebnie panikuje? |
|
RazzorFlame |
» 2015-04-07 12:31:56 Tak, to jest normalne. Praktycznie każda gra zużywa przynajmniej 100 / liczbeWątków % procesora. Powodem tego, jest to, że zwykłe aplikacje okienkowe nie potrzebują "płynności" działania (chodzi mi tutaj o 60fps albo coś w tym stylu), tylko update-owane są dopiero wtedy, gdy zajdzie jakaś akcja (czyt. pętla komunikatów dostanie nowy komunikat). W grach zamiast funkcji GetMessage, które używa się w aplikacjach okienkowych używa się funkcji PeekMessage. Różnica jest taka, że pierwsza jest blokująca a druga nie. |
|
Salin Temat założony przez niniejszego użytkownika |
» 2015-04-07 12:48:40 Ów, już myślałem, że robiłem coś źle. W takim razie dziękuje za pomoc. |
|
maly |
» 2015-04-07 12:49:01 Możesz spróbować zmniejszyć zużycie używając setVerticalSyncEnabled(true) lub setFramerateLimit. |
|
Salin Temat założony przez niniejszego użytkownika |
» 2015-04-07 13:14:16 Metoda setFrameLimit jest boska, z ponad 20% spadło do 2 w porywach 3. Dzięki wielkie, teraz będę dołączać tą metodę do mojej każdej aplikacji. :) |
|
« 1 » |