Szybkość Graphic

0

Jak maxsymalnie i bezpiecznie przyspieszyć graphic w JFrame gdyż miałem zrobić silnik graficzny i chyba zbyt wolny by był...

1

Pisz bezpośredno po pamięci karty graficznej zapalając piksele które ci potrzebne. Szybciej nie będzie.

0

Coś o tym słyszałem ale jak to zrobić w JAVA ?!

0

Może LWJGL ?

0

Podajcie mi konkretny kod który mi pixela narysuje w okienku tą metodą :) Bo innaczej to pewnie nam dłułgo zejdzie na gadaniu a ja i tak nic z tego nie zrozumeim :)

1

Ale to ty masz napisac silnik

0

Czy w końcu mi pomożecie ? Na początku to coś jeszcze mi pomagaliście...Rozumiem że bardzo się zżyliśmy na tym forum ale chce się też czegoś dowiedzieć... :)

1

Odpowiedź jest prosta - Swing nie służy do tego typu aplikacji, ich koncepcja jest zupełnie różna. Propozycje czegoś innego już dostałeś, to m.in. LWJGL

0

No przecież @Shalom Ci napisał. Chcesz przyspieszać frameworki, które ktoś wcześniej optymalizował? Bierz ASM i pisz po pamięci karty. Przecież uczysz się ASM. Na jaką pomoc liczysz w ogóle? Że ktoś Ci przepisze całe biblioteki po to, żeby zrobić optymalizację czegoś co ktoś już dostatecznie zoptymalizował?

0

Czyli JFrame odpada ? No to gdzie tą grę napisać by była maxsymalnie szybka ?

0

Całkiem się już pogubiłem... Da się to zrobić w Java ?

1

Może zacznijmy od początku... Jaki problem masz z obecnym rozwiązaniem które wykorzystujesz? Co w ogóle próbujesz na tym JFrame rysować?

Wydajne graficznie rzeczy w Javie da się zrobić, ale nie w Swingu czy innych podobnych frameworkach bardziej do aplikacji okienkowych niż do gier. Wysoko wydajną grafikę możesz osiągnąć wykorzystując LWJGL, JOGL, libGDX czy chociażby jMonkeyEngine.

0

A jak zrobili LWJGL skoro to nie jest wbudowane w Java ? No to musi być jakiś sposób ! @Shalom musi wiedzieć jak przspieszyć grafikę !!!

0

Dajcie mi gotowy kod który mi tymi waszymi metodami narysuje pixela. Wtedy będę szczęśliwy :) Nie chce z takich gotowców korzystać. No może to takie do końca gotowce nie są ale chyba da się to zrobić bez LWJGL. No bo w takim razie jak to w LWJGL zrobili ? Skoro bez gotowców w LWJGL zrobili to jest jakiś sposób :)

2

Dajcie mi gotowy kod który mi tymi waszymi metodami narysuje pixela. Wtedy będę szczęśliwy

Proszzzzz...

org 100h

; Ustawienie trypu VGA 16 kolorow
mov ax,012h
int 10h
	
; Zapalenie piksela i ustawienie koloru
mov ah,0ch
mov al,12; 12 - kolor czerwony
int 10h 

; Koniec programu
mov ax, 4c00h
int 21h

Zapalenie jednego piksela na ekranie (o wybranym kolorze, a co!)

Kompilujesz przez nasm -o plik.exe plik.asm gdzie plik.asm to plik z powyższym kodem. Najlepiej pod DOSBoxem.

A dalej... to już tylko Twoja kreatywność...

2

@Xix daj sobie spokoj z tym programowaniem moze, jest tyle ciekawych rzeczy ktore mozna robic w tym zakresie a ty akurat wybrales zakladanie niepowaznych tematow na forum, ja rozumiem za masz duzo wolnego czasu, ale sa pewne granice :)

0

Powiedzcie jak konkretnie to wszystko zrobić z użyciem bibliotek standardowych Java i czy tak się w ogóle da ?

0

Dobra decyduje się na razie na LWJGL.

1

LWJGL korzysta z natywnych bibliotek poprzez interfejs JNI.

Obecnie nie pisze się bezpośrednio po pamięci karty graficznej z poziomu aplikacji, bo taki putpixel musi być:

  • przetworzony przez sterownik,
  • zapakowany w polecenie dla karty graficznej,
  • przesłany przez szynę PCI-Express,
  • polecenie musi być wykonane przez kartę graficzną,
  • a następnie trzeba czekać na sygnał, że polecenie się zakończyło,
    Narzut ogromny.

Kolejna sprawa to środowisko:

  • system operacyjny ma własny kompozytor okien (czy jak to tam nazwać), który renderuje zawartość okien i to jemu trzeba zgłaszać polecenia do wykonania,
  • można jednak użyć trybu pełnoekranowego, gdzie ma się pełną władzę nad ekranem, ale tu i tak są problemy typu synchronizacja,

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