Allegro...obciążenie procesora
Ostatnio zmodyfikowano 2012-09-08 23:40
marianekA Temat założony przez niniejszego użytkownika |
Allegro...obciążenie procesora » 2012-09-05 08:30:04 Ten mój post jest raczej zapytaniem ale w końcu gdzie pytać jak nie tutaj. Może mi ktoś wyjaśnić jak to jest... jeśli wyświetlę fotografię np. w XnView to obciążenie procesora jest zaledwie 1-2% a jak w Allegro 4.4 wyświetlę bitmapę na ekranie to zaraz mam ok.50% obciążenia procesora a wielkość bitmapy nawet nie ma większego znaczenia. Na komputerze o słabszej konfiguracji obciążenie czasami dochodzi do 100%.
Jak - o ile się da - można to zmienić?. Czy używając innych bibliotek jest podobnie?
|
|
bingo009 |
» 2012-09-05 12:50:49 Zapewne ciągle czyścisz ekran i wyświetlasz go w pętli. A zreszta, skoro ciągle działa pętla, to nic dziwnego. Procesor ciągle pracuje. |
|
marianekA Temat założony przez niniejszego użytkownika |
» 2012-09-05 13:22:52 no właśnie, cały czas jest aktywna pętla główna While( !key[ KEY_ESC ] ) { ...odswiezanie ekranu tylko w czasie zdarzen }
|
|
pekfos |
» 2012-09-05 14:54:54 |
|
Dragonit |
» 2012-09-05 15:14:14 Co ty masz za procesor ? |
|
m4tx |
» 2012-09-05 15:17:50 a jak w Allegro 4.4 wyświetlę bitmapę na ekranie to zaraz mam ok.50% obciążenia procesora a wielkość bitmapy nawet nie ma większego znaczenia. Na komputerze o słabszej konfiguracji obciążenie czasami dochodzi do 100%. |
Proste. Masz uruchomioną aplikację w jednym wątku. W aplikacji masz pętlę podobną do while(1). Na procesorze 2-rdzeniowym będziesz miał 50% obciążenia (1 wątek == 1 rdzeń). na 1-rdzeniowym 100% (na słabszej konfiguracji większą wagę mają też pozostałe procesy, dlatego też nie ma pełnego 100%). Jak temu zaradzić? Dodać limit FPS. |
|
akwes |
» 2012-09-05 15:22:26 Żadnych limitów FPS. FPS jest w grach a nie w przeglądarce grafiki. W przeglądarce grafiki rysujesz RAZ. I przerysowywujesz jak się zmieni jej stan (obrót czy coś takiego). Nawet 1 FPS to będzie za dużo. Więc grafikę musisz rysować RAZ a nie co obieg pętli. Najlepiej ifem. Jeżeli JestZmiana To RysujGrafike();
Jeżeli chcesz aby pętla główna działała. |
|
m4tx |
» 2012-09-05 15:26:09 @up nie wyjaśnił, jaką aplikację piszę, ale założyłem, że skoro w Allegro, to grę. |
|
« 1 » 2 |