Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?

[es] :: 3D programiranje :: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?

Strane: 1 2

[ Pregleda: 16312 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Blablabla

Član broj: 21277
Poruke: 395
*.dynamic.sbb.rs.



+23 Profil

icon Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?16.08.2011. u 22:34 - pre 154 meseci
Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?
žvrlj, žvrlj.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?16.08.2011. u 23:08 - pre 154 meseci
Za 12,3%.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?16.08.2011. u 23:20 - pre 154 meseci
Zavisi ko pise kod, ta brojka moze da bude cak i 12,98%, ako je "asm guru" pisao engine..
 
Odgovor na temu

Mikky

Član broj: 18
Poruke: 1563
*.dynamic.sbb.rs.

ICQ: 44582291


+58 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?17.08.2011. u 01:45 - pre 154 meseci
Hehe, damn right :)
-I know UNIX, PASCAL, C, FORTRAN,
COBOL, and nineteen other high-tech
words.
 
Odgovor na temu

Blablabla

Član broj: 21277
Poruke: 395
*.dynamic.sbb.rs.



+23 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?17.08.2011. u 23:02 - pre 154 meseci
Otkud vam tako precizni podaci do u decimalu - je l' to negde vec pise?

(Uzgred - ja sam mislio da je odgovor nesto tipa 30% tu negde... ali nije ni 12-13% za bacanje.)
žvrlj, žvrlj.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?17.08.2011. u 23:51 - pre 154 meseci
Ne pise. Odgovori koje su dobio su sarkasticni. Razlog za to je tvoje pitanje..

Pre mozda 30 godina je pitanje "koliko puta je nesto brze napisano u assembly-ju nego to isto napisano u X jeziku?" i imalo nekog smisla, ali odavno to vise nije slucaj. Kompajleri su toliko razvijeni da generisu kod koji je optimizovaniji nego da ga je vecina (danasnjih) programera pisala rucno u asm-u.

A sto se konkretno 3D engine-a tice, bas bih voleo da vidim neki pisan u asm-u (a da je komercijalnog kvaliteta).. to se jednostavno ne isplati, a sto se prednosti u performansama tice ona je ili zanemarljiva ili nikakva, na danasnjem hadrware-u.
 
Odgovor na temu

Blablabla

Član broj: 21277
Poruke: 395
*.dynamic.sbb.rs.



+23 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?17.08.2011. u 23:59 - pre 154 meseci
:) OK. Pitam iz radoznalosti.
Hmm... jesi li siguran oko ovog sa kompajlerima - sve funkcije (itd.) su pisane genericki da podrzavaju razlicite slucajeve primene date funkcije (razliciti tipovi promenljiva i razliciti metodi i sta sve ne) - nekako mi je logicno onda bilo pretpostaviti da bi brze radio kod pisan specificno za konkretnu radnju u programu i apsolutno nista vise...
žvrlj, žvrlj.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 00:04 - pre 154 meseci
Citat:
Aleksandar Ružičić: Pre mozda 30 godina je pitanje "koliko puta je nesto brze napisano u assembly-ju nego to isto napisano u X jeziku?" i imalo nekog smisla

Nije zapravo nikada jer razliciti ljudi pisu razlicito kvalitetan software. Moze neko bolji engine da napravi u c++ nego neko drugi u asm-u. Cak ne mozes porediti ni za slucaj da jedan covek radi oba i da je u oba ekspert jer ce pravljenjem jednog endzina steci neko iskustvo pa to vise nece biti isti onaj programer.

Citat:
Aleksandar Ružičić: A sto se konkretno 3D engine-a tice, bas bih voleo da vidim neki pisan u asm-u (a da je komercijalnog kvaliteta).. to se jednostavno ne isplati, a sto se prednosti u performansama tice ona je ili zanemarljiva ili nikakva, na danasnjem hadrware-u.

Zapravo je i nebitno. Grafika koja bi se izvrsavala na procesoru bi u svakom slucaju bila prespora. Grafiku izvrsava graficka kartica i to tako sto ima direktnu podrsku za directx i/ili opengl i skroz je nebitno iz kog jezika pozoves funkcije kad ces dobiti isto izvrsavanje. Jedina razlika bi bila u nekim drugim proracunima ali su oni manji deo problema a i tu se mnogo toga sada prebacuje na gpu.
 
Odgovor na temu

3way

Član broj: 241428
Poruke: 1425



+2403 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 00:06 - pre 154 meseci
@Blabla
Izmedju onoga sto pise u programu i onoga sto se desi na ekranu stoji i graficka karta, tj. njen drajver...tako da to ne ide bas tako kako ti mislis...
Osim ako bi pisao 3d engine za recimo Arduino :)
Sedam sutlijasa,
za sedam samuraja,
za sedam tramvaja.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.dip.t-dialin.net.



+7173 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 00:20 - pre 154 meseci
@Blablabla,

Ako pricamo o 3D Engine-u koji koristi hardversku 3D akceleraciju (OpenGL, Direct3D) onda je gubljenje vremena pokusavati raspisati ceo engine u asembleru posto CPU i ovako i onako nece procesirati tu geometriju nego GPU. Tu mozes eventualno da se posvetis pisanju optimizovanih shader-a a to je kod koji se izvrsava na GPU-u - nije asembler, ali je dovoljno low-level da imas kontrolu nad desavanjima.

Ako pricamo o nekom softverskom 3D engine-u - onda se eventualno isplati pisati neke kriticne delove u asembleru ako znas sta radis, opet nikako ne ceo kod. Ali da bi napisao brzi kod od nekog dobrog C kompajlera moras da budes bas dobar u tome sto radis.

Znaci, pocni od C/C++-a a onda ako imas neke delove za koje mislis da su spori, uradi sledece stvari - po redu bitnosti:

1. Da li ti je sam algoritam optimalan? Ako nije, nikakve optimizacije koda ti to nece nadomestiti.... Recimo ako ti treba depth-sorting za transparenciju, i to radis metodom grube sile - mozes da ga optimizujes koliko hoces, na vecem broju primitiva ima da ti zaustavi sve :)

2. Ako si siguran da ti je algoritam dobar, vidi da li si ga imlementirao u samom C/C++ kako treba imajuci u vidu platformu na kojoj radis i "best practices" za nju (uravnanje podataka, da li kompajler koristi odgovarajuce instrukcije za CPU, preciznost matematickih operacija, da li zoves koristis sistemske API-je kako treba, da li ne kopiras memoriju osim kada zaista treba itd...)

3. Tek kada si iscrpeo #1 i #2 - onda prelazis na analizu asemblerskog koda koji ti je generisao kompajler, i TEK onda, ako vidis da nesto nije otpimalno mozes da probas da raspises rucno rutinu koja je u pitanju...

Ova 3 koraka su ti najoptimalniji nacin - ako odmah krenes na #3 - em ces mozda propustiti neke mnogo krupnije stvari, em ces potrositi mnooogo vise vremena i na kraju mozda neces dobiti brzi kod.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

Blablabla

Član broj: 21277
Poruke: 395
*.dynamic.sbb.rs.



+23 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 00:48 - pre 154 meseci
Sto nas dovodi do sledece teme:
:D
3D engine napisan za GPU na masinskom jeziku koji radi sam (bez upotrebe tudjih rutina). =D q:9


...Ali ne - ozbiljno - moje prvobitno pitanje je bilo ne-prakticne nego cisto teorijske prirode -- evo: zamislimo da je neko po najboljim mogucim algoritmima napravio dva programa identicnih mogucnosti KOJI KORISTE ISKLJUCIVO CPU - dakle bez GPU --- jedan u C++-u jedan u asembleru - i onda - koliko brze bi radio ovaj u asembleru? Eto.
žvrlj, žvrlj.
 
Odgovor na temu

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
*.dial-up.dsl.siol.net.

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 02:14 - pre 154 meseci
Znaci, cista teorija, potpuno optimalan program, idealno napisan, naravno da ce brze da radi u asembleru, zbog manjeg overheada.


Ali praksa je naravno nesto drugo... jos pogotovu kad uracunas programerovo vreme (=platu) :)
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

sheiks
Beograd

Član broj: 13588
Poruke: 39
*.enetel-solutions.rs.

Jabber: sheiks@elitesecurity.org


Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 09:20 - pre 154 meseci
pre par godina su valjda neki nemci napravili FPS u samo 96kb. Asm il' ne, al' ja sam se odusevio :)
Evo linka : http://www.theprodukkt.com/home
 
Odgovor na temu

3way

Član broj: 241428
Poruke: 1425



+2403 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 10:15 - pre 154 meseci
To nema veze sa asmom, tu se radi o proceduralnom generisanju objekata, materijala, osvetljenja i svega ostalog na licu mesta. Cak su izbacili i alat, Werkkzeug, neku vrstu editora koja ti omogucava obicnom korisniku da uradi nesto slicno.
Sedam sutlijasa,
za sedam samuraja,
za sedam tramvaja.
 
Odgovor na temu

Blablabla

Član broj: 21277
Poruke: 395
*.static.sbb.rs.



+23 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?18.08.2011. u 21:51 - pre 154 meseci
Citat:
sheiks: pre par godina su valjda neki nemci napravili FPS u samo 96kb. Asm il' ne, al' ja sam se odusevio :)
Evo linka : http://www.theprodukkt.com/home


Da. Video sam pre par godina. Kriger. I meni je to bilo fantasticno - do duse malo mi je zapinjalo. Kapiram da su za svaku stvar koristili matematicku formulu (imajuci tu pre svega u vidu teksture i zvuk - kapiram da je sve sintetizovano a ne semplovano (sad vidim da je 3way to objasnio vec))... (Uzgred: takodje mi je skrenulo paznju i to da neki od njihovih produkkt-ova imaju viruse.)

Citat:
mulaz: Znaci, cista teorija, potpuno optimalan program, idealno napisan, naravno da ce brze da radi u asembleru, zbog manjeg overheada.


Da. Pitanje je bilo: Za koliko brzi?


Citat:
mulaz:Ali praksa je naravno nesto drugo... jos pogotovu kad uracunas programerovo vreme (=platu) :)


Heh, Kao sto sam rekao - pitanje je totalno teoretsko, bez prakticnih tematika i ~temologija~ (je l' ima ta rec? =D (google... a - ima 'epistemologija'... to mu dodje to onda)).

Nego - fascinira me ta fantazija: zamisli jednu prostoriju sa 100 osoba koji iz za'ebancije eto znaju da programiraju u nekom jeziku (ali, ono, posteno znaju -- respekt) i eto tako iz zezanja su tu; predstavi im se algoritam i ulazi i izlazi funkcija kako treba da budu - i pazi sad - za ono za sta treba jednoj osobi 100h rada (to je 10 dana ako radis 10h dnevno) - oni podelom posla urade za 1 sat! (znaci (prvobitno bar) samo radi postojanja, eto, nekog korisnog programa - nema firme, nema zamlacivanja sa svim stvarima koje s time dolaze - samo neki licni prostor i neko licno vreme (...moze i preko 'neta kolaboracija, ali nije to to - bolje je kad su svi na jednom mestu - nekako je mocan osecaj taj momenat svesti da takva grupa moze sve i odmah :D ~GODS~ :D ))

(Mislim - to mi je nekako naprosto fascinantno - samo kazem, ima neku cudnovatu draz taj koncept: od potpunog nepostojanja ideje preko stvaranja ideje za program do njegove ~ovozemaljske egzistencije~ moze da je dovoljno 1 h (i slovima: jedan sat - JEDAN sat (ne znam da li ste razumeli dobro pa cu da ponovim: JEDAN - znaci ono... ne znam kako da objasnim da bi bilo dovoljno jasno...)). ...U svakom slucaju korisnije od mnogih stvari na koje se dan inace uobicajeno potrosi.)

...



[Ovu poruku je menjao Blablabla dana 18.08.2011. u 23:01 GMT+1]
žvrlj, žvrlj.
 
Odgovor na temu

Blablabla

Član broj: 21277
Poruke: 395
*.dynamic.sbb.rs.



+23 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?20.08.2011. u 23:45 - pre 154 meseci
Nismo dosli do odgovora na pitanje teme (moje prvobitno pitanje je bilo ne-prakticne nego cisto teorijske prirode -- zamislimo da je neko po najboljim mogucim algoritmima napravio dva programa identicnih mogucnosti KOJI KORISTE ISKLJUCIVO CPU - dakle bez GPU --- jedan u C++-u jedan u asembleru - i onda - KOLIKO BRZE bi radio ovaj u asembleru?).
žvrlj, žvrlj.
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
212.200.241.*



+104 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?20.08.2011. u 23:49 - pre 154 meseci
Citat:
Blablabla: ... zamislimo da je neko po najboljim mogucim algoritmima napravio dva programa identicnih mogucnosti...

Rade istom brzinom :)
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Blablabla

Član broj: 21277
Poruke: 395
*.dynamic.sbb.rs.



+23 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?21.08.2011. u 02:00 - pre 154 meseci
Tajodgovor je isti kao da si rekao da radi 1000 puta brze. :D
žvrlj, žvrlj.
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
212.200.241.*



+104 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?21.08.2011. u 07:03 - pre 154 meseci
Ako je nešto najbolje onda bolje od toga ne može sve jedno ko to napisao (kompajler ili čovek). Istom brzinom će raditi, tako da je moj odgovor tačan :)
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Blablabla

Član broj: 21277
Poruke: 395
*.dynamic.sbb.rs.



+23 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?22.08.2011. u 01:24 - pre 154 meseci
Ne verujem da kompajler moze da optimizuje program toliko dobro koliko bi covek licno mogao da ga sazme.

U svakom slucaju - jedno je najbolje sto je moguce napisati program u C++, a sasvim deseto najbolje sto je moguce napisati program u asembleru (!) - zasigurno bi ovaj u asembleru radio brze - pitanje je samo koliko brze?
žvrlj, žvrlj.
 
Odgovor na temu

[es] :: 3D programiranje :: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?

Strane: 1 2

[ Pregleda: 16312 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.