Seite 31 von 252

Re: Jammer-Thread

Verfasst: 19.06.2011, 01:02
von Krishty
WTF

Ich wundere mich gerade, warum beim Arbeiten mein GPU-Lüfter total abdreht:
winSAT.png
winSAT.png (3.52 KiB) 3255 mal betrachtet
Ist Psyschopathen-Windows! Gibt jetzt viele Beweiszeugen!

Re: Jammer-Thread

Verfasst: 20.06.2011, 16:22
von Krishty
Ich mit meinem verdammten revolutionären Querkopf

Habe Blending implementiert. Und weil Alpha an sich ja eine vollkommen bescheuerte Idee ist, und dazu noch bescheiden aussieht, habe ich direkt mit Premultiplied Alpha angefangen.

Und da dachte ich mir dann: Warum eigentlich den Alphakanal als Maß dafür benutzen, wie viel das Objekt den Hintergrund verdeckt, statt dafür, wie viel es vom Hintergrund passieren lässt? Spart ja wieder eine Anweisung im Shader.

Die Antwort ist jetzt, nach zwei Wochen, auf dem Tisch:
Möchte man die Transparenz von außen steuern, z.B. um etwas ausklingen zu lassen, muss man RGB und T jeweils mit diesem Faktor multiplizieren. Aber nein – weil ich so schlau sein wollte, gibt der T-Kanal ja nicht mehr an, wie viel der Pixel verdeckt, sondern wie viel er durchlässt. Und das wird größer, wenn das Objekt ausklingt. Ich muss also einen Faktor >1 übergeben. Und das geht wiederum mit Direct3D9 nicht; ich muss es im Shader machen statt im Output Merger.

Let's make better mistakes tomorrow.

Re: Jammer-Thread

Verfasst: 21.06.2011, 21:14
von Krishty
Die Tage werden wieder kürzer

Re: Jammer-Thread

Verfasst: 21.06.2011, 21:36
von Jörg
Das gehoert aber fuer uns "ITler" nicht in den Jammer-Thread. Endlich wieder in Ruhe abends coden koennen, ohne sich in den letzten Winkel verziehen zu muessen, weil die Sonne bis 23 Uhr ihr gleissendes Licht in die Suedfenster wirft :D

Re: Jammer-Thread

Verfasst: 21.06.2011, 22:40
von eXile
Krishty hat geschrieben:Die Tage werden wieder kürzer
D.h. in ca. einem Monat ist in unseren Breiten das Temperaturmaximum erreicht. Es geht also in diesem Sinne noch bergauf.

Re: Jammer-Thread

Verfasst: 22.06.2011, 09:55
von Top-OR
Die drei Feinde des Programmierers: Tageslicht, frische Luft und das ekelhafte Brüllen der Vögel am Morgen.

Re: Jammer-Thread

Verfasst: 22.06.2011, 10:42
von Krishty
Ich hatte bejammert, dass die Tage wieder kürzer werden, und nun finden mich alle unprofessionell

;)

Re: Jammer-Thread

Verfasst: 22.06.2011, 11:04
von Lynxeye
Boah, seit Stunden hetze ich einem Absturz aufgrund eines invaliden Pointers in meinem Kernelcode hinterher. Und das ganz nur, weil das Sysfs-Subsystem meint mir beim Aufruf der Callbackfunktion einen anderen Pointer zurückgeben zu können als den, den ich beim initialisieren des Callbacks übergebe. Und keiner hat es gemerkt, weil alle nur extrem naive Sachen auf diesen Callbacks aufbauen.

Was ist das für eine Scheiße? Jetzt kann ich das Design, an dem ich seit einer Woche arbeite noch mal komplett umstellen.

Re: Jammer-Thread

Verfasst: 22.06.2011, 17:29
von glassbear
Top-OR hat geschrieben:Die drei Feinde des Programmierers: Tageslicht, frische Luft und das ekelhafte Brüllen der Vögel am Morgen.
Falls das keine Ironie ist: Find ich schade, dass viele so denken.
Ich arbeite gerne nachmittags draussen im Gruenen in der Sonne :D

Re: Jammer-Thread

Verfasst: 22.06.2011, 17:36
von Top-OR
Ich finde, es ist eher von Typ Mensch und seinen Gewohnheiten abhängig: Dieses "Draußen" mit diesem "Licht" finde ich gut; "Nachmittag" auch.

Aber ich bin eher son Abendmensch. Am Vormittag brauch keiner was Wichtiges von mir Verlangen - das wird eh nix.

Darüber hinaus muss ich die Klischees auch ein bissel pflegen ... ;-)

Re: Jammer-Thread

Verfasst: 23.06.2011, 00:27
von CodingCat
Ich habe die letzten Tage wirklich sehr viel Zeit und Mühe ein meine erste Implementierung von Expression Templates gesteckt. Natürlich war mir das Wikipedia-Beispiel viel zu trivial und ich musste das ganze gleich für N-dimensionale Tupel beliebigen Ausmaßes implementieren. Nachdem ich also nun Expression Templates beliebig schachteln, stapeln und verknüpfen kann, habe ich es endlich gewagt, einen Blick auf den schlussendlich generierten Maschinentext zu werfen. Das Ergebnis ist akzeptabel, aber doch schlechter als erhofft.

Tatsächlich macht der Compiler im direkten Vergleich temporärer Objekte vs. Expression Templates einen verdammt guten Job, überflüssige Kopien zu vermeiden, auch wenn diese sich in mehreren (selbstverständlich ausgerollten) for-Schleifen über mehrere Dimensionen verstecken. Bei Multiplikationen von Vektoren / Matrizen mit Skalaren geht das soweit, dass die temporäre Kopie (a = b * 2 (== copy(b) *= 2)) besseren Text erzeugt als Expression Templates UND inplace a = b; a *= 2. Bei komplexeren Operationen wie komponentenweiser Addition oder Multiplikation schneiden Expression Templates mal leicht, mal stärker besser ab als die Variante mit der Kopie, im besten Fall geht es hier um ca. 25%.

Schlussendlich wirkt das alles relativ zufällig, insbesondere, wenn man beginnt, komplexere Ausdrücke in Expression Templates zusammenzufassen. Nun muss ich abwägen, ob ich dafür die (massiv) erhöhte Implementierungskomplexität in Kauf nehme, oder zurück zu KISS wechsle. Im Zweifel für KISS fällt schwer, wenn man gerade zum ersten Mal selbst echte Template-Magie geschaffen hat. ;-)

Fazit: Wer interessiert ist, mal wieder an die Grenzen der Programmiersprache seines Vertrauens zu gelangen, dem kann ich Expression Templates nur wärmstens empfehlen. Ich habe in diesen 2 Tagen wirklich massig neue Tricks und Anwendungsfälle für Templates entdeckt, ob die Dinger nun drin bleiben oder nicht, ein Stück weiter bin ich allemal. Wer nur mal eben eine einigermaßen akzeptable Mathe-Library bauen möchte, der kann dem Optimizer meist doch guten Gewissens vertrauen.

Und wo ich gerade Unrolling erwähnte. Visual Studio entrollt nur Schleifen, deren Bedingungen den operator < enthalten, mit operator != dagegen Fehlanzeige:

Wählen gehen.

Für den Inhalt dieser Wahlwerbung ist ausschließlich Microsoft verantwortlich:

Code: Alles auswählen

float a[] = { 1, 5, 3 };
float b[] = { 4, 2, 6 };

float c = 0;

// Not unrolled (operator !=)
for (int i = 0; i != 3; ++i)
c += a[i] * b[i];

// 00D71050 fld dword ptr [ebp+eax-1Ch] 
// 00D71054 add eax,4 
// 00D71057 fmul dword ptr [ebp+eax-14h] 
// 00D7105B fadd dword ptr [ebp-24h] 
// 00D7105E fstp dword ptr [ebp-24h] 
// 00D71061 cmp eax,0Ch 
// 00D71064 jne main+50h (0D71050h)

float d = 0;

// Unrolled (operator <)
for (int i = 0; i < 3; ++i)
d += a[i] * b[i];

// 01121066 fld qword ptr [__real@4010000000000000 (1122100h)] 
// 0112106C fadd qword ptr [__real@0000000000000000 (11220F8h)] 
// 01121072 fstp dword ptr [ebp-20h] 
// 01121075 fld dword ptr [ebp-20h] 
// 01121078 fadd qword ptr [__real@4024000000000000 (11220F0h)] 
// 0112107E fstp dword ptr [ebp-20h] 
// 01121081 fld dword ptr [ebp-20h] 
// 01121084 fadd qword ptr [__real@4032000000000000 (11220E8h)] 
// 0112108A fstp dword ptr [ebp-20h]

Re: Jammer-Thread

Verfasst: 24.06.2011, 23:01
von Krishty
virt.png
… oder habe ich da was verpasst?

Re: Jammer-Thread

Verfasst: 24.06.2011, 23:54
von Krishty
Boah das verdient jetzt einen eigenen Post

Dieses überladene, fette, nutzlose, prätentiöse Scheißteil von Mobiltelefon, das ich mein Eigen schimpfe, springt nachts ab 23 Uhr nicht mehr an

Weißer Bildschirm, keine Reaktion, wieder aus. Und irgendwann am nächsten Morgen geht es wieder.

Echt, ist es jetzt schon so weit? Ist es echt schon SO weit?! Was würde ich denn machen, wenn das hier ein Notfall wäre? Mein Netbook rauskramen, Bluetooth einschalten, und mich dann per Pufferüberlauf in der Datumsfunktion ins Mobiltelefon hacken um den Notruf abzusetzen?!

Und das alles nur, damit diese bescheuerten Rindviecher von Prolokonsumenten ihre Sitznachbarn im Zug mit YouTube-Videos von kotzenden Katzen nerven können, wenn sie sich für 99 Cents von diesen verlogenen, skrupellosen, nutzlosen, schwanzlosen Mobilfunkanbieterspackos über den Fliesentisch ziehen lassen

Kriege meine Wut kaum artikuliert, aber das ist wohl auch besser so

Hass

Re: Jammer-Thread

Verfasst: 25.06.2011, 00:45
von CodingCat
Kriege meine Wut kaum artikuliert
Dabei hätte man es schöner kaum in Worte fassen können. :P

WAS ANDERES. WIESO ist die std-Lib eigentlich SO verfehlt, dass ich in assoziativen Containern nur mit Werten exakt des Schlüsseltyps suchen kann, mit dem ich die Schlüssel darin speichere? Muss ich mir jetzt etwa für jede Suchanfrage einen eigenen temporären Vergleichsstring alloziieren, nur weil meine Schlüssel Strings sind?!? Ach nein, ich kann mir ja eine static-Variable anlegen, um allokationsfrei zu bleiben. WTF :evil:

Re: Jammer-Thread

Verfasst: 25.06.2011, 13:49
von eXile
Aus der Kategorie Was kann eigentlich noch alles schiefgehen?, heute: Merkwürdige Speicherzugriffsverletzungen wenn man mal wieder nicht alles selber macht.

Re: Jammer-Thread

Verfasst: 25.06.2011, 17:10
von glassbear
Krank sein ist absolut scheisse. Ich kann nicht mal nen Film gucken, dazu reicht die Konzentration nicht. Kein Hunger, kein Appetit, keine Energie. Bewegungsmangel.

SCHEISS LUNGENENTZUENDUNG! :evil: :evil: :evil:

Re: Jammer-Thread

Verfasst: 25.06.2011, 18:12
von Chromanoid
Gute Besserung!
Vielleicht ein Hörbuch? Die Walter Moers Zamonien Hörbücher gelesen von Dirk Bach (Rumo, Die Stadt der träumenden Bücher...) bzw. Andreas Fröhlich (der Schrecksenmeister) sind meiner Meinung nach mit die genialsten Hörbücher überhaupt.

Re: Jammer-Thread

Verfasst: 25.06.2011, 18:15
von Krishty
Masturbation?

Re: Jammer-Thread

Verfasst: 25.06.2011, 18:26
von Chromanoid
Er sollte seine Kräfte schonen ;)

Re: Jammer-Thread

Verfasst: 25.06.2011, 18:28
von Krishty
Er kann es ja freihändig versuchen. Zeit genug ist da. Wie die Mönche im Himalaya (wenn sie sich nicht gerade Ziegelsteine ans Gemächt hängen). Oder Finch.

Re: Jammer-Thread

Verfasst: 25.06.2011, 20:18
von glassbear
Danke allerseits :)
Krishty hat geschrieben:Masturbation?
:lol: (ein echtes Laecheln!)
Dabei wuerde ich wahrscheinlich sterben, weil ich keine Luft kriege...


Hoerbuch (Chroniken von Narnia) funktionierte zumindest gestern halbwegs, so fuer 30-40 Minuten und danach wars vorbei...

Re: Jammer-Thread

Verfasst: 25.06.2011, 22:53
von Thoran
glassbear hat geschrieben:Krank sein ist absolut scheisse. Ich kann nicht mal nen Film gucken, dazu reicht die Konzentration nicht. Kein Hunger, kein Appetit, keine Energie. Bewegungsmangel.

SCHEISS LUNGENENTZUENDUNG! :evil: :evil: :evil:
Gute Besserung Enrico, da kann man nur wünschen das du wenigstens gut schläfst. Schlafen soll ja bei Krankheiten gut helfen, so gehts zumindest mir, wobei ich zugeben muß, daß ich noch keine Lungenentzündung hatte.

Thoran

Re: Jammer-Thread

Verfasst: 26.06.2011, 17:09
von glassbear
Thoran hat geschrieben:Gute Besserung Enrico, da kann man nur wünschen das du wenigstens gut schläfst. Schlafen soll ja bei Krankheiten gut helfen, so gehts zumindest mir, wobei ich zugeben muß, daß ich noch keine Lungenentzündung hatte.
Danke danke :)
schlafen geht mittlerweile halbwegs, dank Hustenanfaellen dazwischen...




Und mal was anderes: Flash-Games sind zum Kotzen, wenn der Anbieter dir nur das Geld aus der Tasche ziehen will und im Gegenzug nichtmal seine Infrastruktur im Griff hat. Ja, EA, toll gemacht. Gratulation fuer so viel Bullshit.

Re: Jammer-Thread

Verfasst: 26.06.2011, 17:15
von Chromanoid
Einen Groll gegen EA hege ich momentan auch, mein BF Heroes Account ist auch auf der von lulsec veröffentlichten Liste -.-

@Flash-Games: naja das hat doch nichts mit Flash zu tun. Die Mehrzahl aller Flash-Spiele ist doch ausschließlich Freeware/werbefinanziert. Du meinst social games oder?

Re: Jammer-Thread

Verfasst: 26.06.2011, 17:32
von glassbear
Mit Flash hat das direkt nichts zu tun (ausser dass ich nicht mehr als drei Tabs mit Flash-Anwendungen auf haben kann, ohne dass die dual core CPU ausgelastet ist)...

Ich meine vor allem Dragon Age Legends: Am Anfang fand ich das echt gut. Mittlerweile hab ich selten so dreiste Abzocke erlebt. Es werden gute Builds generft, nur damit die Leute sich die teueren Sachen aus dem Shop kaufen. Das Lootsystem wird kuenstlich schlecht gehalten, damit man jaaaa keine Items fuer seine Klasse findet. Und mit anderen Klassen tauschen geht natuerlich auch nicht. Das Leben der Gegner wird froehlich nach oben angepasst, damit das Spiel ja nicht zu einfach wird und sich die Leute teure Sachen im Shop kaufen, wenn sie mitten im Kampf wiederbelebt werden wollen. Und eines der uebelsten Dinge: Es werden Buttons zum One-Click-Kauf so platziert, dass man in einem Moment der Unachtsamkeit drauf klickt. Zum Beispiel wenn gerade keine Health Potion mehr da ist und dort dann so ein Button hingemacht wird. Oder die Reihenfolge von Buttons sich mit vielen Updates aendert...


So! :evil: Geld kriegen die von mir nicht, nach der Katastrophe mit DA2...

Re: Jammer-Thread

Verfasst: 26.06.2011, 21:33
von CodingCat
Fraps kann nur in Echtzeit mitschneiden, keine Timesteps fixieren. Auf dem besten meiner Rechner geht Rendering und Recording gleichzeitig bei maximal 15 FPS. Was tun? Timesteps im Code fixieren, alles in halber Geschwindigkeit aufnehmen und doppelt so schnell abspielen. Riesen Spaß garantiert.

Re: Jammer-Thread

Verfasst: 26.06.2011, 23:51
von dot
Eigenes Capturing einbauen :P

Re: Jammer-Thread

Verfasst: 27.06.2011, 09:33
von Top-OR
Na, wenn DA nicht Freude aufkommt: Eclipse, wir kommen. Unds "kann" natürlich auch C++. Jetzt wird bestimmt alles besser.

Re: Jammer-Thread

Verfasst: 27.06.2011, 10:31
von Lynxeye
Ach, ich bin inzwischen wieder zu Eclipse zurückgekehrt. Vor allem, da es die einzige IDE ist, die den kompletten Linuxkernel indizieren kann ohne abzustürzen und mir dann damit auch sinnvolle Codevervollständigung anbieten kann. Der meiner Meinung nach größte Nachteil von Eclipse, die Trägheit, hat sich auch erledigt, seit ich in meiner Workstation 16GB RAM habe und die Java-Heapsize richtig aufdrehen kann. Und RAM ist ja gerade spottbillig.

Zum Thema: Another day, another thinko in meinem Sysfs Code. Klassenhierarchien in C sind einfach nur ein Krampf und bringen mich immer wieder dazu falsch abzuleiten.

Re: Jammer-Thread

Verfasst: 28.06.2011, 09:57
von j.klugmann
Manche müssen sich anstrengen, damit sie Lazy Evaluation genießen können, andere würden sie lieber temporär aus den Sprachfeatures einer Sprache streichen. Der Editor meiner Engine funktioniert neuerdings nicht mehr, da die Render-Routinen wegoptimiert werden. Frei nach "Je weniger Code, desto besser". Naja, dafür läuft das Programm jetzt um einiges schneller. :mrgreen: