Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Allegro...obciążenie procesora

Ostatnio zmodyfikowano 2012-09-08 23:40
Autor Wiadomość
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?
P-64391
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.
P-64393
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
C/C++
While( !key[ KEY_ESC ] )
{
    ...odswiezanie ekranu tylko w czasie zdarzen
}
P-64394
pekfos
» 2012-09-05 14:54:54
rest();
P-64397
Dragonit
» 2012-09-05 15:14:14
Co ty masz za procesor ?
P-64399
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.
P-64400
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.
P-64402
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ę.
P-64403
« 1 » 2
  Strona 1 z 2 Następna strona