Artikelempfehlungen, interessante Publikationen o.Ä.

Hier können Artikel, Tutorials, Bücherrezensionen, Dokumente aller Art, Texturen, Sprites, Sounds, Musik und Modelle zur Verfügung gestellt bzw. verlinkt werden.
Forumsregeln
Möglichst sinnvolle Präfixe oder die Themensymbole nutzen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

The Architecture of Open Source Applications
Die Architektur von quelloffenen Anwendungen erklärt; von Eclipse & LLVM bis Audacity.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Mr. S
Beiträge: 27
Registriert: 09.06.2011, 09:06

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Mr. S »

Tolle DirectX-Tutorials, vergleichbar mit den alten ZFX-Artikeln. Nur halt DX9 und nicht 8:

http://www.chadvernon.com/blog/resources/directx9/
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Loop Recognition in C++/Java/Go/Scala von Robert Hundt, Google.

Der Titel hört sich zuerst wie ein abstraktes Paper zur Programmanalyse aus der funktionalen Programmierung an. Dem ist aber nicht so. Ziel der Veröffentlichung ist ein „fairer Vergleich“ der Sprachfeatures, Codekomplexität, Compiler, Zeit zum Kompilieren und der resultierenden Programmgröße, Laufzeit und Speicherverwendung der oben genannten Programmiersprachen.

Leider musste ich auch solche Sachen lesen:
Loop Recognition in C++/Java/Go/Scala, Seite 9 hat geschrieben:Doug Rhode created a greatly improved version, which improved performance by 3x to 5x. […] At the time of this writing, the code was heavily dependent on several Google internal data structures and could not be open sourced.
Dennoch wird diese optimierte Version zu Vergleichszwecken herangeführt. In solchen Fällen muss ich leider – obwohl der Rest der Veröffentlichung sehr fundiert aussieht – sagen, dass keine wissenschaftliche Nachprüfbarkeit besteht, und darum dies für Vergleichszwecke ungeeignet ist. Ich halte Hundt dennoch zu Gute, dass er sehr detailliert die dabei enthaltenen Änderungen erläutert hat. Leider erklärt er nicht, wofür denn nun eigentlich die „ Google internal data structures“ verwendet werden – an der Stelle habe ich das Gefühl, dass Teile der „magic sauce“ nicht offengelegt werden sollen. Die nach dem Zitat folgende Änderungsliste referenziert nämlich deren interne Datenstrukturen in keiner Weise. Ebenso meine ich zu erkennen, dass bei der C++-Version erheblich mehr Optimierungsaufwand betrieben wurde (unabhängig von der Verwendung von externen Libraries, die ja gar nicht zur Sprache gehören).

Schließlich macht dies es auch unmöglich, den Implementierungsaufwand abzuschätzen. So kommt er auch zum Schluss:
Loop Recognition in C++/Java/Go/Scala, Seite 10 hat geschrieben:We find that in regards to performance, C++ wins out by a large margin. However, it also required the most extensive tuning efforts, many of which were done at a level of sophistication that would not be available to the average programmer.
Ein weiterer Kritikpunkt könnte sein, dass eine Optimierung der Programmgröße nicht stattfand. Die Wichtigkeit betont Hundt aber selber:
Loop Recognition in C++/Java/Go/Scala, Seite 7 hat geschrieben:It should also be noted that for large binaries, plain binary size matters a lot, as in distributed build systems, the generated binaries need to be transferred from the build machines, which can be bandwidth limited and slow.
Abschließend muss ich noch erwähnen, dass natürlich ein Algorithmus ausgewählt wurde, der sehr, sehr stark mit Googles Beschäftigungsfeld im Zusammenhang steht: Graphtraviersierung und Schleifenerkennung in Graphen. Es aber schön zu sehen, dass die Hauptbeschleunigung bei der Optimierung der C++-Version durch die Wahl anderer Algorithmen (hash_map, Wahl der Haskkeys, etc.) zu Stande kam.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Wenn man Performance verschiedener Sprachen vergleichen möchte, finde ich diese Benchmark-Seite eigentlich nicht schlecht: The Computer Language Benchmarks Game
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Das ist jetzt zwar nur ein kleiner Link, aber vielleicht doch für einige interessant. Die Tabelle zeigt den aktuellen Stand der Implementierung von C++0x-Sprachfeatures in den Compilern verschiedener Hersteller.

http://wiki.apache.org/stdcxx/C++0xCompilerSupport

(Leider ist die Tabelle doch ein wenig undetailliert, darum immer als Ergänzung noch die und die hier daneben legen.)
Benutzeravatar
Thoran
Establishment
Beiträge: 227
Registriert: 15.05.2009, 12:51
Wohnort: Stuttgart
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Thoran »

Sehr interessanter Blog-Artikel über Hobbyspieleentwicklung, für all diejenigen, die des Englischen mächtig sind.
6 Challenges to the Hobbyist Game Developer, and How to Overcome Them

Thoran
Wer Rechtschreibfehler findet, darf diese gerne behalten.
Mein Entwicklertagebuch
Aktuelle Projekte: Universum: Domination (ehemalig AlphaOmega),Universum: Sternenjäger, PixelWars: Highscore-based Top-Down-Spaceshooter
Spieleengine Unreal 5
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Top-OR »

Ist das ne Anspielung auf Hobbyprojekte? ^^

Error establishing a database connection
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

War bei mir auch; geht wieder ;)

WLARGH zu früh kluggeschissen
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Top-OR »

Über den Link kommt bei mir immernoch der Fehler, aber über die Startseite kommt man ja auch zu Artikel: Sehr interessant, finde ich - und stimmen tuts auch. (Zumindest das, was ich gelesen habe.)
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

Typical C++ Bullshit - Provokant. Lehrreich? Denkanstöße.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

CodingCat hat geschrieben:Typical C++ Bullshit - Provokant. Lehrreich? Denkanstöße.
Naja, irgendwelchen hergelaufenen Code (welcher vermutlich in wenigen Minuten runtergehackt wurde) zu kritisieren stufe ich jetzt als minder sinnvoll ein. Außer man macht sich einen Spaß daraus, in zehn Minuten etwas hinzuklatschen, was andere dann stundenlang kritisieren, und man sich über deren verlorene Zeit erfreut. Natürlich hat der Code Macken. Natürlich geht es besser, und ich bin dem Autor auch dankbar, eben solche Denkanstöße zu bieten. Aber es gibt nun einmal solchen und solchen Code: Einerseits für Programme, die einmal laufen, und dann gelöscht werden könnten, andererseits Heimprojekte, die man stundenlang bis zur scheinbar perfekten Lösung massiert. Meine Pseudocode-VM war ein Programm der ersten Kategorie: Schnell geschrieben, sehr langsam, hat seine Aufgabe gelöst, Code ging ins Archiv und bleibt dort auch für immer.

Lustig fande ich die Stelle „When was the last time you had (exactly) one plane and (exactly) one sphere?“. Na ganz offentlich genau hier. Sonst hätte der das ja nicht implementiert. Seine Hipster-Postits kann er da auch bleiben lassen.
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Top-OR »

Mensch, ein Glück sagt das mal jemand. Ich hatte schon ein schlechtes Gewissen, weil ich meine Heugabel und Fackel irgendwie nicht rauskramen wollte/konnte.

Sooo schlimm finde ich das Konstrukt nicht; außer dass es kein Klassenmenber ist, sondern freifliegend, die Formatierung nicht mit meiner persönlichen Norm übereinstimmt und und und ...

Nee, im Ernst. Es erfüllt sicher seinen Zweck. Vielleicht geht der Code auch eleganter/schneller, aber wichtiger ist, dass das Projekt auch mal läuft und seinen Sinn erfüllt. Man kann JAHRE an Software rumdesignen und keinen Schritt weiter kommen. Man kann IMMER etwas bemängeln, wenn man das will ...
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

Ihr habt doch keine Ahnung … ich meine: Das Programm schreibt in ein Attribut statt in eine lokale Variable. Wenn ihr nur halb so viel Ahnung hättet wie Mike, würdet ihr jetzt hamsterkaufen gehen!

Das Problem an dem Artikel ist sein Titel. Mikes Aufgabe war „Optimize this!“ (siehe Bild 3). Und er analysiert den Text tatsächlich ziemlich gut unter dem alleinigen Gesichtspunkt der Leistung – Lokalität, Konvertierungen, Verzweigungen. Leider lässt einen der Titel glauben, er analysiere das Fragment generell auf Qualität. Die spielt hier aber keine Rolle. Stellt euch einfach vor, da stünde „Typical Perfomance Bullshit“ drüber (Doppeldeutigkeit erwünscht).
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Top-OR »

"Von Einem" ... was? Und was soll ich mit nem Hamster?
in ein Attribut statt in eine lokale Variable
Tut es das? O_o

Ich seh nur ne freifliegende Funktion, die zu keiner Klasse gehört (naja). Wie hätte mans "richtiger" lösen können?
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Krishty hat geschrieben:Ihr habt doch keine Ahnung … ich meine: Das Programm schreibt in ein Attribut statt in eine lokale Variable.
Und woran soll ich das jetzt genau sehen? Das steht dort nirgends, dass man das vielleicht nicht doch braucht (wie viele Threads laufen da überhaupt?). Was ich kritisiere ist, dass er dort herumkritisiert, aber seine Kritik nicht nachvollziehbar darlegt. Das fängt beim Titel an, geht weiter mit seinen Post-its die die Hälfte vom Bild verdecken, dem Code, welchen man sich aus mehreren Bildern zusammenbasteln muss, und darüber hinaus das aller Gravierendste: So ist überhaupt gar keine algorithmische Optimierung möglich. Woher soll ich als Leser wissen, dass vielleicht nicht doch eine Funktion, welche exakt zwei solche Objekte entgegen nimmt, in diesem Falle genau das richtige ist, weil es nun einmal der Algorithmus so vorsieht? Warum nicht Tests vermeiden, statt bloß ihre Reihenfolge zu ändern? Die Bezeichnung „Typical C++ Bullshit“ ist falsch, die Bezeichnung „Typical Perfomance Bullshit“ immer noch.

Hätte das Paper einen Titel verdient, wäre es wohl eher „Common low-level inefficiencies when writing code in five minutes in C/C++“. In diesem Falle gebe ich dem Autor Recht. Nur eine Überschrift zu wählen, welche ein gigantisches Publikum anzieht, um dann doch nur alles bis auf einen ganz kleinen Aspekt zu reduzieren, ist Etikettenschwindel und Bauernfängerei.

Nachtrag: Offensichtlich habe ich meinen Ironiedetektor fehlkalibriert. Dennoch meine ich das wirklich, was ich hier geschrieben habe. ;)

>My face when I was finished with Mikes paper:
Bild
Zuletzt geändert von eXile am 22.06.2011, 19:26, insgesamt 2-mal geändert.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

Wow. Bin ich echt so doll auf Polemik und Flaming abgestürzt, dass „Ihr habt doch keine Ahnung“ nicht mehr ausreicht um eure Sarkasmusfühler zum Knattern zu bringen? :)

@Top-OR: Ja tut er, hier.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Da ich ZFX nicht in 4chan verwandeln will, jetzt dann doch noch mal was Konstruktives:
Zusammengeschustertes Video auf http://vimeo.com/13958264
Slides auf http://chrishecker.com/Structure_vs_Style

Das Beispiel der AI ist jetzt vielleicht nicht wirklich relevant, aber die Dekomposition in „Structure vs. Style“ (muss man aber nicht so nennen) war mir zwar lange, lange Zeit unterschwellig klar, aber endlich hat's mal jemand gesagt. Unbedingte Anschauempfehlung. (Ich habe 45 Minuten gebraucht, um das wiederzufinden; ich hoffe, euch gefällt's.)
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Top-OR »

Krishty hat geschrieben:Ja tut er, hier.
Ahhhhhjaaaa ...

*AlohaPfeifendImDunkelnVerschwindend*
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
rüp
Establishment
Beiträge: 202
Registriert: 13.09.2010, 20:44

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von rüp »

Ich habe Herrn Acton dieses Jahr live auf'm Game Forum Germany in Hamburg gesehen, und muss sagen, dass ich ihn recht unsympathisch fand, oder zumindest seine Präsentation / sein Thema ziemlich sinnlos. (Seine Seite altdevblogaday.org ist aber dennoch sehr gut.)

Ansonsten find' ich die Post-Its lustig, ist mal was anderes.
Visit my personal page, and follow the Rat King on Facebook & Twitter!
Seraph
Site Admin
Beiträge: 1184
Registriert: 18.04.2002, 21:53

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Seraph »

Ich schmeisse einfach mal ohne weitere Worte den folgenden Link in die Runde:

You don't want to work in the games industry
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von kimmi »

Ein sehr interessanter Artikel, dem ich nach eigenen Erzählungen und Erfahrungen ebenfalls nur zustimmen kann.

Gruß Kimmi
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Sehr geil der Link aus dem Artikel (You don't want to work in the games industry):
How to Write Unmaintainable Code (Humorous Article)
Er wird in diesem Zusammenhang erwähnt:
"Big studios are only secure for the “Unfireables”; the guys who have been there for a decade and wrote the subsystem or tool so terrible, that only they can maintain it, thus indefinitely extending their employment." :D
Den Typen kenne ich auch :P

Gruß Kimmi
Zuletzt geändert von kimmi am 24.06.2011, 16:38, insgesamt 1-mal geändert.
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Top-OR »

You don't want to work in the games industry
Nicht, dass ich es "gewust" habe, aber warum wundert mich das nicht?

Sehr interessant, danke.
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

@kimmi :) einfach meinen post für dich beanspruchen tststs :D :D
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

Interactive Indirect Illumination and Ambient Occlusion Using Voxel Cone Tracing:
http://blog.icare3d.org/2011/06/interac ... n-and.html
http://artis.imag.fr/Publications/2011/CNSGE11/
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Nichts da „A Preview“, eher „An Insight“:
http://artis.imag.fr/Publications/2011/CNSGE11a/

Aber leider gibts noch kein ganzes Paper. Muss mir mal anschauen, ob man das mit Light Propagation Volumes zusammenschustern kann. Die Haupteinschränkung sind wohl lokal gaussche BRDFs, auch wenn man so wohl eine komplexe BRDF durch mehrere Gauss zusammenbasteln kann. Auch überlege ich gerade, ob man nicht vielleicht statt mehreren Gauss lokal beschränkte SH nehmen könnte; aber das ist jetzt nur eine Idee.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5047
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Schrompf »

Wow, enorm beeindruckend. Der Film sieht aus, als wäre das ein Alles-Tot für die Global Illumination. Hoffentlich kommt das Paper auch für Normalsterbliche - die Siggraph hat sich da ja immer ein bisschen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von kimmi »

Chromanoid hat geschrieben:@kimmi :) einfach meinen post für dich beanspruchen tststs :D :D
Nicht beanspruchen, sondern einigen Kollegen auf diesem Wege zugänglich machen, wie das sonst nicht kennen würden.

Gruß Kimmi
Alexander Kornrumpf
Moderator
Beiträge: 2138
Registriert: 25.02.2009, 13:37

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Alexander Kornrumpf »

Du hast seinen Post editiert, war das Absicht?
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

Statt auf „Zitieren“ auf „Ändern“ geklickt? Ist super – da werden die extra möglichst weit auseinander platziert, damit beim Danebenklicken nicht viel passieren kann. Dann sind sie aber wiederum so weit auseinander, dass sich die Hand nicht merken kann, ob sie jetzt auf das Pinke ganz links außen oder auf das Pinke ganz rechts außen klicken sollte …

… ich frage mich, warum „Ändern“ nicht ausgegraut ist. Ich meine: Verwarnen, Information und der restliche Moderatorenkram sind das schließlich auch.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten