Szybkość Graphic

Szybkość Graphic
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
0

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

XI
@Shalom no chodź na pewno wiesz :)
KA
tak a ja chce polecieć na marsa. lepiej zajmij się apliakcjami biznesowymi to zdobędziesz prace i szmal!
XI
chce pisać gry na tym silnkiu
panryz
on musi najpierw skończyć podstawówkę.
XI
gimnazjum :)
panryz
Serio? Ktoś kto nie potrafi pisać po polsku może iść do gimnazjum ?
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

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


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
0

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

Zobacz pozostałe 3 komentarze
XI
On już to poprawił
niezdecydowany
niezdecydowany
poprawił po 20sekundach.
niezdecydowany
niezdecydowany
a ty @Xix zajmij się rysowaniem na kartce papieru, bo to max co może z ciebie być.
XI
Tobie też udowodnie :)
niezdecydowany
niezdecydowany
słyszałem że jak się skoczy z drugiego piętra to połamie się nogi - jak chcesz możesz udowodnić.
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
0

Może LWJGL ?

Zobacz pozostałe 4 komentarze
KA
po co Ty chcesz programowac? w gimnazjum to sie robi inne rzeczy
XI
chce udowodnić że potrafie stwporzyć to co planuje :) Może nie jestem dobrym programistom jeśli chodzi o wiedzę ale jak przeczytam książkę to już tylko genialne pomysły będą się liczyć a angielski miałem na 5 na koniec * klasy gim którą akurat skończyłem :) :) :) ;] :P
niezdecydowany
niezdecydowany
zrób import Huge.Wide.Dummy.Paint.Chgw
panryz
Dobry troll, co ile forum 4programmers przyjmuje takich?
XI
co to to Huge...
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
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 :)

spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 dni
1

Ale to ty masz napisac silnik

XI
ale to wy macie mi powiedzieć jak go przyspieszyć :) Umiem z użyciem graphic ale wyobrażam sobie różnokolorowe pixele latające po ekranie patrząc jajak Java jest szybka jeśli chodzi o zwykły graphic. Ale jak minecrafta zrobili to i ja dam rady coś zrobić :)
niezdecydowany
niezdecydowany
dasz radę zawiązać buciki czy masz na rzepy ?
Wizzie
W Minecrafcie jest używany LWJGL
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
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ć... :)

edytowany 1x, ostatnio: Xix
airborn
  • Rejestracja:ponad 15 lat
  • Ostatnio:prawie 7 lat
  • Postów:274
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

XI
a jak jego zrobili żę taki szybki ?
airborn
piszą bezpośrednio do bufora karty graficznej?
grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
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ł?

XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
0

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

niezdecydowany
niezdecydowany
w assemblerze
XI
ale chodzi o to by to było w Java :)
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
0

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

airborn
  • Rejestracja:ponad 15 lat
  • Ostatnio:prawie 7 lat
  • Postów:274
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.

Zobacz pozostałe 7 komentarzy
niezdecydowany
niezdecydowany
przecież ci napisałem, niby jesteś inteligenty a jednak nie wyglądasz - napiszesz do w assemblerze a potem wystarczy że wkleisz go do System.out.println("TUTAJ ?"); takie to trudne ?
airborn
A może po prostu @niezdecydowany jak nie masz nic mądrego do napisania, to sobie odpuścisz, co?
niezdecydowany
niezdecydowany
nie.
XI
@niezdecydowany nie wyglądam bo mnie niewidzisz :)
niezdecydowany
niezdecydowany
a widzę, np: na twoim blogu huehuheuwheiuwheiwuehuweiuhwiehweuwe
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
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ę !!!

Zobacz pozostałe 3 komentarze
Shalom
@Xix LWJGL jest open source. Otwórz źródła i przeczytaj jak to zrobili.
XI
@Shalom Tak ? Gdzie to się da zrobić ?!
XI
@Wizzie To teraz zrzucaj na nieprzeczytane książki. Teraz głównie wiedzy mi brkuje :)
katelx
@Shalom niestety kursor usera @Xix sprytnie omija wszystkie linki, jak juz trafia to niestety automatycznie przeskakuje w prawy gorny rog ekranu i klika.
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
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 :)

NoZi
@Shalom długo jeszcze ten gość będzie pisał na tym forum? litości...
XI
@NoZi pÓÓÓÓki czegoś nie stworze ne pewno :)
grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
2

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

Proszzzzz...

Kopiuj
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ść...

edytowany 4x, ostatnio: grzesiek51114
Zobacz pozostały 1 komentarz
LukeJL
mov ax,012h - czemu nie 13h? W trybie 13h będziesz miał więcej kolorów (aż 256!), oraz minimalistyczną rozdzielczość (320x200 FTW). A zapalać piksele będziesz mógł odwołując się bezpośednio do buforu grafiki, który znajduje się pod adresem A000 (tego adresu się nie zapomina!)
grzesiek51114
grzesiek51114
@LukeJL no w sumie racja, mógłbym ale...W prawie wszystkich przykładach jest właśnie 13h :) Tak jakoś mi wyszło :)
grzesiek51114
grzesiek51114
@Xix cieszę się, że mogłem Cię uszczęśliwić :) W javie nie pisze się bezpośrednio po pamięci karty graficznej. Te czasy w ogóle dawno już minęły.
XI
@grzesiek51114 no ale w Java są pewnie jakieś inne metody bo w niej też pisze się gry i tego typu rzeczy
LukeJL
pisanie w Javie polega na piciu kawy (z ang. potocznie "java") i wypluwaniu jej na monitor. Tak rodzą się gry i inne tego typu rzeczy.
katelx
  • Rejestracja:prawie 10 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Hong Kong
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 :)

Zobacz pozostałe 2 komentarze
katelx
@Xix granice swe znac sztuka jest, sily na zamiary mierzyc cnota. do ciebie wybor nalezy czy byc przegranym w programowaniu juz teraz czy po latach spedzonych w mekach
XI
po tygodniach spędzonych w chwale przebić się przez wszystkich !!!
katelx
@Xix masz na mysli ze wszyscy beda mieli cie dosc i nikt nie bedzie z toba gadal?
bogdans
@panryz, masz mało wrażliwe oczy - zamieżam nie powoduje krwawienia?
panryz
też powoduje, ale póki przez "u" widziałem już od niego dwa razy. @bogdans nie możesz go jakoś "poskromić" ?
XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
0

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

XI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 9 lat
  • Postów:231
0

Dobra decyduje się na razie na LWJGL.

niezdecydowany
niezdecydowany
HUBERCIK PATRZ ! https://github.com/LWJGL/lwjgl tak to jest zrobione - teraz czekamy na kolejne wątki !
panryz
myślisz, że to ta sama osoba ?
niezdecydowany
niezdecydowany
oczywiście, postalkowałem sobie trochę :D
panryz
Ty brutalu :D
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około godziny
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,

"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)