Warsztat.GD

Społeczność => Projekty zaawansowane => Wątek zaczęty przez: alexsoft w Marzec 02, 2012, 20:49:15

Tytuł: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 02, 2012, 20:49:15
Witam!

Chciałbym przedstawić nowy projekt, którym jest mały silniczek 2D w XNA. Powoli dodaje do niego nowe featury, ale możliwe, ze mam problemy z wydajnością. Mam więc prośbę - czy moglibyście potestować po prosty czy nie tnie.

(http://i41.tinypic.com/156v400.png)

Pod przyciskiem "H" znajduje się DebugView. FPS wyświetlany jest w nazwie okna.
Wciskając klawisze od 1 do 6 mamy kilka efektów postprocessingu. Niektóre z nich są regulowane strzałkami góra/dół

Link do pobrania tutaj (http://dl.dropbox.com/u/21600382/LittleEn.rar)
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Pitru w Marzec 02, 2012, 20:58:49
ja mam od razu crash :P
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Xirdus w Marzec 02, 2012, 21:07:17
Ja też.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 02, 2012, 21:11:53
A redist xna macie? :P
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: nilphilus w Marzec 02, 2012, 21:14:52
      foreach (DrawableEngineComponent drawableEngineComponent in Engine._drawablePostProcessComponents)
        drawableEngineComponent.Update(gameTime);
      foreach (DrawableEngineComponent drawableEngineComponent in Engine._drawableComponents)
        drawableEngineComponent.Update(gameTime);

to na odwrót nie powinno być? tzn. ja tam się nie znam, tylko Post mi się tak kojarzy ;-)

 a co do działania to działa płynnie
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 02, 2012, 21:19:14
Nie powinno być odwrotnie ;) Zwykłe DrawableEngineComponent to np GUI, które nie podlega PostProcessowi i jest rysowane "najwyżej".

Bym zapomniał. Wciskając klawisze od 1 do 6 mamy kilka efektów postprocessingu. Niektóre z nich są regulowane strzałkami góra/dół.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Xirdus w Marzec 02, 2012, 21:20:17
XNA jest w wersji 4.0. Może to wina XP?
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 02, 2012, 21:21:21
Ciężko mi stwierdzić, korzystam z Win7 x64. Może nie masz SM3 wspierane?

#EDIT

Wrzuciłem binarkę w wersji Release. Może to coś pomoże.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: nilphilus w Marzec 02, 2012, 22:50:37
a dobra, to by miało sens - nie wnikałem za bardzo w to czym to jest ;-)
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 04, 2012, 14:58:05
Dodałem cienie. Włączamy je przyciskiem M. Proszę o testy - liczba FPS w obu trybach :)

Przypominam: sterownie postprocssingiem - klawisze 1-6 (dla 3 i 5 dodatkowe sterowanie strzałkami góra/dół)

Do pobrania tutaj KLIK (http://dl.dropbox.com/u/21600382/LittleEn.rar)

(http://i40.tinypic.com/sl5yr6.jpg)
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Xirdus w Marzec 04, 2012, 15:38:32
Dalej crashuje. Daj binarkę bez optymalizacji i bez SSE (jeśli się da).
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 04, 2012, 16:42:58
Bez optymalizacji: KLIK (http://dl.dropbox.com/u/21600382/LittleEnNoOPT.rar)

SSE mogę jedynie włączyć (domyślnie wyłączone?).

Projekt korzysta z profilu HiDef, jeden z shaderów wykorzystuje SM3. Swoją drogą jakiego typu to crash? Jakiś komunikat?
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Xirdus w Marzec 04, 2012, 18:47:40
Dalej crashuje. Włączam program i nic się nie pokazuje poza "wystąpił problem z aplikacją i zostanie ona zamknięta".
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 04, 2012, 19:01:25
Przełączyłem na Reach. Może spróbuj teraz...

KLIK (http://dl.dropbox.com/u/21600382/LittleEnNoOPT.rar)

Może przeinstaluj .NET 4.0 i XNA, nie wiem w czym problem... Szkoda, że tak mało osób się wypowiada i nie wiem jaka jest skala problemu.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Xirdus w Marzec 04, 2012, 19:03:36
Dalej się crashuje. Z przeinstalowywaniem pobawię się później.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 04, 2012, 19:11:10
Widzę, że będę musiał dopisać loga, żeby wiedzieć do którego momentu aplikacja w ogóle dochodzi.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 04, 2012, 19:27:32
@Xirdus
Dodany log i wyłączone oświetlenie. Sprawdź proszę czy teraz się włącza, a jeśli nie, to co jest w logu.

KLIK (http://dl.dropbox.com/u/21600382/LittleEnNoOPT.rar)
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Xirdus w Marzec 04, 2012, 19:58:02
Crashuje się przed włączeniem logowania. Chyba nie dane mi będzie pograć :(

Zapomniałem chyba podać konfigurację: AMD Athlon XP 2600+, GF 7300GT, Windows XP SP3.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 05, 2012, 13:22:42
Mógłby ktoś jeszcze potestować? :)

KLIK (http://dl.dropbox.com/u/21600382/LittleEn.rar)

Sterowanie: M - przełączanie trybów, 1-6 efekty post process (dla 3 i 5 sterowanie parametrami strzałki góra/dół)
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: gotji w Marzec 05, 2012, 13:42:59
Win7 x64, Core2 Quad, Radeon HD 4800.

60 FPS.
Mam zianstalowane GameStudio więc bez 'crash'-a.
Wyłącz vsync i fixed time step.

Nie wiem za bardzo co tu jest do testowania.
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Pitru w Marzec 05, 2012, 17:46:51
ściągnąłem Redist XNA i teraz chodzi :)
60 fps.
Win7 x64, Phenom 4x 3.20ghz, Radek HD 4870
;p
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: Radomiej w Marzec 05, 2012, 18:23:52
60 fps
WinXP 32bit, Pentium E2220, GeForce GTX 460SE

Może dodaj większy teren czy możliwość zwiększania obiektów, żeby móc określić maksimum, albo jakiś automatyczny teścik zapisujący logi do pliku żebyś mógł przejrzeć:)
Tytuł: Odp: LittleEn - silniczek 2D w XNA
Wiadomość wysłana przez: alexsoft w Marzec 05, 2012, 19:00:50
Słuszna uwaga :)

KLIK (http://dl.dropbox.com/u/21600382/LittleEn.rar)

Przyciskiem N dodajemy nowe światełka. Włączony jest vsync i fixedtimestep gdyż właściwie nie obchodzą mnie FPS wyższe niż odświeżanie monitora z tego względu, że są niemiarodajne. Interesuje mnie przy jakiej ilości świateł gra zaczyna zauważalnie ciąć (<20 FPS?).