Jakie są zalety używania DelphiX?

0

Otóż od dłuższego czasu piszę grę platformową. Wszystko działało ładnie dopóki nie zacząłem dodawać możliwości grania na kilku graczy. W takim przypadku gra mocno zwolniła. Pojawiły się lagi i i ogólnie wszystko zaczęło się sypać.

Na początku używałem komponentu dziedziczącego po TImage, i kilkudziesięciu TShape robiących za schodki. Kiedy zauważyłem pierwsze spowolnienie gry zacząłem optymalizować kod, i nie odwoływać się do komponentów via

TShape(FindComponent('wall' + IntToStr(I))).Left := 120;

tylko tworzyłem wszystko dynamicznie w tablicy i odwoływałem się tak Walls[I].Left := 120;

To samo zrobiłem z komponentami przedstawiających graczy, ale to i tak nie pomogło. Wpadłem na pomysł żeby też Najpierw narysować wszystko na jakiejś Bitmap'ie, a potem dopiero wyświetlić nie przechowując komponentów w tablicach a jedynie ich wymiary i pozycję. Jeszcze tego nie zaimplementowałem, gdyż pamiętam że jest coś takiego jak DelphiX, ale niestety nie miałem okazji się temu bliżej przyjrzeć. Czy to będzie działało szybciej? Jakieś wskazówki?

Kurs DelphiX już znalazłem, teraz pytam tylko czy dobrze robię ucząc się tego i wprowadzając DelphiX do gry?
0

[...] najpierw narysować wszystko na jakiejś Bitmap'ie, a potem dopiero wyświetlić używając TCanvas, nie przechowując komponentów w tablicach, a jedynie ich wymiary i pozycję. [...]

Proszę moda o zastąpienie powyższych linijek, z tymi z górnego postu

0

Z tego co się orientuję to w DelphiX do tego co chcesz uzyskać służy SpriteEngine. A wyświetla się cokolwiek na DXdraw.Surface a nie TCanvas.

0

W ogóle nie używaj komponentów, tylko rysuj własne kształty (rectancgle, ellipse, polygon, etc.). Poczytaj też, jak działa podwójne buforowanie. I zdecyduj się - czy chcesz angażować w rysowanie DirectX'a czy tylko WinGDI (czy jak to się tam nazywa ;p).

1 użytkowników online, w tym zalogowanych: 0, gości: 1