Seite 14 von 252

Re: Jammer-Thread

Verfasst: 02.11.2010, 16:16
von Schrompf
Ich kann mir vorstellen, dass das frustrierend ist. Aber wenn Du es nicht meldest, wird es nie behoben. Ich glaube, Du musst Dir mehr als ein Problem gleichzeitig zulegen, damit Du solange an was anderem weiterarbeiten kannst.

Re: Jammer-Thread

Verfasst: 08.11.2010, 23:00
von Schrompf
Das kann doch wohl nicht wahr sein! Wenn ich meine ATI Radeon HD 4870 frage, wieviele Vertex-Konstantenregister sie hat, damit ich möglichst große Skelette mit Hardware-Skinning verarbeiten kann, sagt diese mir.... 256! Nicht etwa 64k, wie sie hat, oder wenigstens die 4k, die in einen einzelnen Constant Buffer passen. Nein, 256. Und der Shadercompiler scheitert auch brav, wenn man mehr Register zu benutzen versucht. Wozu wurde da extra ein Feld in den DX9-Caps eingerichtet, wenn da eh nur Scheiß drinsteht? Und wie soll ich jetzt ein vernünftiges Hardware Skinning hinbekommen, dass notfalls auf Software Skinning zurückschaltet, wenn die Graka nicht soviele Bones im Kopf behalten kann, aber auch NUR dann?

Re: Jammer-Thread

Verfasst: 09.11.2010, 20:08
von Jörg
Es gibt doch noch Alternativen zu Konstanten unter DX9 und SM3....und meine mobile ATI der 4000er Generation sagt: 8192.

Re: Jammer-Thread

Verfasst: 09.11.2010, 20:20
von Schrompf
Was sind denn die Alternativen? Meinst Du StreamOut oder sowas? Oder eine alternative Methode, die Anzahl verfügbarer VertexShader-Konstantenregister zu ermitteln?

Re: Jammer-Thread

Verfasst: 09.11.2010, 20:32
von Jörg
Korrigiere: Wenn man versehentlich auf REF klickt, sind es 8192 :)

Vertex-Texture-Fetch waere eine Alternative.

Re: Jammer-Thread

Verfasst: 23.11.2010, 13:34
von Krishty
Das DirectX Texture Tool, das dem SDK beiliegt, konvertiert R32G32B32A32_FLOAT-Texturen zu R8G8B8A8_UNORM und wieder zurück zu R32G32B32A32_FLOAT, wenn man „Open onto this surface“ oder „Open onto alpha channel of this surface“ benutzt. Ohne einen darauf hinzuweisen. Sorgt für viel Unterhaltung, wenn man mutmaßliche Fehler in seinen HDR-Anwendungen sucht.

Ist aber teils auch meine Schuld – ich hätte skeptisch werden sollen, als sich meine 8-MiB-HDR-Textur plötzlich auf 250 KiB statt 4 MiB komprimieren ließ.

Re: Jammer-Thread

Verfasst: 23.11.2010, 13:48
von Schrompf
Nachtrag zu meinem Gejammer: sehr viele Grafikkarten lügen in den DX9-Caps über ihre Konstantenregister. Ich habe daher jetzt in Assimp einen neuen Meshfilter eingebaut, der Meshes mit zu vielen Bones in mehrere Teilmeshes aufspaltet. Kostet dann zwar zusätzliche DrawCalls, aber ist immernoch Meilen schneller als Software Skinning und funktioniert auch mit Shadermodell 2.

Re: Jammer-Thread

Verfasst: 25.11.2010, 19:26
von Krishty
Ich habe schon wieder einen catch-Block in meinem Release-Build gefunden, bei dessen Betreten sich die Adressen der Funktionsparameter verschieben. Wieder verschwindet das Problem, wenn man /Og deaktiviert.

Damit sind die globalen Optimierungen in Visual C++ 2010 schlicht und einfach untauglich zur Benutzung mit Exceptions. Die einzige Möglichkeit, die beiden zu kombinieren, ist, jeden catch-Block, den man irgendwo hat, einmal auszulösen und zu gucken, ob sich die Funktionsparameter ändern. Falls ja, müssen #pragma optimize("g", off) und #pragma optimize("", on) um die Funktion. Falls nicht, muss man am nächsten Tag wieder testen, weil die Optimierung eben global ist und sich der Bug mit jeder Änderung irgendwo sonst im Programm ändert. #pragma optimize funktioniert überdies nicht für Templates; wenn man also Templates mit catch-Blöcken hat, kann man gleich alle Optimierungen abschalten und quasi den Debug-Build ausliefern.

Ich werde nochmal versuchen, den Fehler zu reproduzieren … aber da ich schon letztes Mal keinen Erfolg hatte, mache ich mir keine allzu großen Hoffnungen. Hoffentlich kommt bald das Service Pack 1 mit überarbeitetem /Og.

Achja – ihr könntet mir helfen, indem ihr dieses Ticket pusht … danke.

Re: Jammer-Thread

Verfasst: 23.12.2010, 01:59
von Krishty
Toll. Wenn ATI mit jedem Catalyst neue Videoeffekte beipackt soll mir das am Popo vorbeigehen, aber sie sollen sie gefälligst abgeschaltet lassen! Die Nachtaufnahmen in allen meinen Videos sahen aus wie auf NTSC 1982, bis ich endlich die Checkbox für dynamischen Kontrast im CCC gefunden hatte … Flesh Tone Correction und den ganzen restlichen Müll habe ich dann auch gleich rausgehauen. Ich gucke mir doch nicht Full-HD auf einem kalibrierten Monitor an, damit der Treiber das Bild nochmal in den Mixer schmeißt bis es aussieht wie die RTL2-Proletenparade auf Ausstellungsstücken in großen Elektronikmärkten …

… und irgendwas hat ATI mit den Lookup-Tables verkackt. Seit dem letzten Catalyst-Update springt das Bild jedes Mal drei cm nach rechts und wieder zurück, wenn an den Farbeinstellungen geschraubt wird – beim stündlichen Update der Kalibrierungseinstellungen ist es vernachlässigbar nervig, aber da das Ein- und Ausblenden beim An- und Abmelden in Windows offenbar auch per LUT statt per Shader-Effekt realisiert ist, kriege ich da immer fast einen Epileptischen …

Re: Jammer-Thread

Verfasst: 23.12.2010, 12:21
von Sternmull
Du kannst doch nicht erwarten das vor der Auslieferung mal einer den Treiber auf einem Testsystem installiert, sich dort anmeldet und womöglich noch dabei hinguckt! :)

Re: Jammer-Thread

Verfasst: 23.12.2010, 14:22
von eXile
Krishty hat geschrieben:bis ich endlich die Checkbox für dynamischen Kontrast im CCC gefunden hatte … Flesh Tone Correction und den ganzen restlichen Müll habe ich dann auch gleich rausgehauen. Ich gucke mir doch nicht Full-HD auf einem kalibrierten Monitor an, damit der Treiber das Bild nochmal in den Mixer schmeißt bis es aussieht wie die RTL2-Proletenparade auf Ausstellungsstücken in großen Elektronikmärkten …
Hätte ich dir vor nem halben Jahr sagen können, da stand ich genau vor dem gleichen Problem ("Warum zum Teufel ist das Schwarz nicht schwarz?!"). Notiz an selbst: Häufiger solche Dinge im Jammer-Thread posten ;)
Krishty hat geschrieben:beim stündlichen Update der Kalibrierungseinstellungen ist es vernachlässigbar nervig
Magst du uns mal deine Hardware beschreiben? Hast du so ein Teil, was man sich auf den Bildschirm klebt, damit der sich anhand der Umgebungsbeleuchtung kalibrieren kann?

Re: Jammer-Thread

Verfasst: 23.12.2010, 14:46
von Krishty
eXile hat geschrieben:Hätte ich dir vor nem halben Jahr sagen können, da stand ich genau vor dem gleichen Problem ("Warum zum Teufel ist das Schwarz nicht schwarz?!").
Schlimmer! Bei mir war nicht nur das Schwarz nicht mehr schwarz, sondern alle Farben waren grau, sobald eine bestimmte Maximalhelligkeit unterschritten wurde … Zombieland, ohne Dynamic Contrast:
wo.png
… und mit:
w.png
Toll gemacht, AMD.
eXile hat geschrieben:Magst du uns mal deine Hardware beschreiben? Hast du so ein Teil, was man sich auf den Bildschirm klebt, damit der sich anhand der Umgebungsbeleuchtung kalibrieren kann?
Ja, so in etwa. Ich klebe es alle paar Wochen mal auf den Bildschirm um zu kalibrieren, sonst ist es ab weil sich das Umgebungslicht eh nie ändert. Einmal pro Stunde wird die LUT aktualisiert. (Werkseinstellung war alle zwei Minuten, aber das ist einfach nicht erträglich.)
GPU ist eine HD 5770. Bis zum November-Catalyst waren LUT-Updates nicht bemerkbar, jetzt sind es Bildsprünge um drei cm nach rechts und eine Zehntelsekunde später wieder zurück nach links.

Re: Jammer-Thread

Verfasst: 23.12.2010, 15:13
von The_Real_Black
"Notiz an selbst: Häufiger solche Dinge im Jammer-Thread posten"
ist eine Idee...

Immer noch habe ich in keinen Forum eine Antwort bekommen wieso man in der neuen EmguCV Version nicht mehr die Kameras kalibieren kann ohne, dass es zu Exceptions kommt. Tya jetzt kann ich mich zwischen Pest und Cholera entscheiden, entweder ich nehme die alte Version mit Speicherzugriffsverletzungsexceptions oder die neue in denen ich mir über Tage erst alles zusammenklauben muss bis ich selbst die Kameras kalibieren kann.
Oder ich mache einen "Hack" und verwende fürs Kalibieren die alte Version der DLL und für den Rest die neue Version...

Wie mans macht ist es immer nicht sauber...

Re: Jammer-Thread

Verfasst: 23.12.2010, 15:22
von Krishty
Allmählich dämmert mir, was da geschieht: Dynamic Contrast ist nichts anderes als ein triviales Histogramm, das die Helligkeitsverteilung aller Farbkanäle auf den Mittelwert anhebt. Dass dabei alle Farbwirkung verloren geht, ist klar … Lost in Translation, ohne und mit:
wo.png
w.png
Sind die Farbunterschiede geringer, ist auch die Änderung ein bisschen weniger hässlich … Die Ermordung des Jesse James durch den Feigling Robert Ford, ohne und mit:
jjwo.png
jjw.png

Re: Jammer-Thread

Verfasst: 23.12.2010, 16:13
von eXile
Dynamic Contrast ist nichts anderes als ein triviales Histogramm, das die Helligkeitsverteilung aller Farbkanäle auf den Mittelwert anhebt.
m(. Meinem geschulten Computergraphikerauge ist eher sofort das hier aufgefallen:

Bild

Bug? Fehler in der Matrix? Relexion des Sternenlichtes der Plejaden am Metallbügel der Kopfstütze? Oder ergibt das sogar Sinn im Film?

Re: Jammer-Thread

Verfasst: 23.12.2010, 16:19
von Krishty
Reflexion der Blue Box am Metallbügel der Kopfstütze :) Ist lustig – wenn man genau hinschaut, sieht man in einigen Szenen die Nähte vom Einfügen der CGI.

Re: Jammer-Thread

Verfasst: 24.12.2010, 14:07
von Krishty
Schade, dass D3D11_SUBRESOURCE_DATA::SysMemPitch eine UINT ist, und keine size_t – ich habe nämlich bei meinen Texturen den Koordinatenursprung nach links unten verlegt und muss sie beim GPU-Download immer spiegeln … auf 32-Bit-Systemen klappt das indem ich SysMemPitch negiere und als Basisadresse die letzte Zeile übergebe; auf 64-Bit-Systemen sorgt das unelegant für einen Absturz, weil nur die unteren 32 Bits überlaufen.

Ich glaube aber eh nicht, dass der Parameter für so etwas ausgelegt wurde …

Re: Jammer-Thread

Verfasst: 25.12.2010, 22:41
von Krishty
Warum sind in DXGI nur RGBA-Formate sRGB, und nicht R-Formate? Darf ich nun tatsächlich jedes Mal, wenn ich eine einkanalige Textur lade, die Gammakorrektur im Shader vornehmen? Toll

Re: Jammer-Thread

Verfasst: 26.12.2010, 18:55
von klickverbot
SDL-Surfaces unter Mac OS X – je nach dem, ob man im Fullscreen- oder Windowed-Mode arbeitet, eine anderes Layout der Farbkanäle im Speicher? WTF?

Re: Jammer-Thread

Verfasst: 27.12.2010, 07:36
von Krishty
Welcher Vollpfosten hat sich ausgedacht, dass signed / unsigned wieder unsigned ergibt?! -12345678 / 65536u == 46697, klar, und ich suche die ganze Zeit den Fehler in meinem Random Number Generator …

Re: Jammer-Thread

Verfasst: 27.12.2010, 14:10
von eXile
Krishty hat geschrieben:Random Number Generator …
Schnelle Frage: Kryptographische Anforderungen vorhanden oder nicht? In ersteren Falle blüht dir ein ganzer Strauß von neuen Problemen …

Re: Jammer-Thread

Verfasst: 27.12.2010, 20:28
von Krishty
Nee, das zum Glück nicht. Für den 1÷f²-Noise in meiner Augenflüssigkeit sollte die TT800-Version des Mersenne-Twisters, die ich auf Wikipedia ergattert habe, genügen.

Re: Jammer-Thread

Verfasst: 28.12.2010, 00:59
von BeRsErKeR
Warum glaubt die Menschheit immer noch an so unlogische Konzepte wie Zeit? :)

Re: Jammer-Thread

Verfasst: 28.12.2010, 01:09
von Krishty
Warum glaubt sie überhaupt

Achja, ein Core i7 ist auch nicht das Wahre. Kaum optimiert man 8 GiB Daten indem man 30 Kompressionsalgorithmen in sechs Threads brute-force drüberjagt, beginnt das System beim Tippen zu haken …

Re: Jammer-Thread

Verfasst: 28.12.2010, 01:27
von BeRsErKeR
Warum glauben wir dass sie glaubt?

Re: Jammer-Thread

Verfasst: 28.12.2010, 09:54
von joggel
Wir glauben alle, was anderes können wir nicht!
Was am nähesten an die Realität herankommt, ist das Gefühl!

[Edit]
Ups... vergessen zu Jammern....
Mich nervt es, das OpenGL so Anti-OOP ist.
Um damit angenehm zu arbeiten, sollte man sich eigentlich ein schönes Framework drumherum basteln!
Aber ich weiß auch nicht, wie das bei DX ist... von daher ;)
[/Edit]

Re: Jammer-Thread

Verfasst: 28.12.2010, 10:15
von Krishty
Ihr jammert nicht
Bild
Verdammt nochmal; bin ich hier die einzige Person, der Regeln noch irgendwas bedeuten?!

Re: Jammer-Thread

Verfasst: 28.12.2010, 12:01
von BeRsErKeR
Manno ich hasse es abgeknallt zu werden! Besser?

Re: Jammer-Thread

Verfasst: 28.12.2010, 13:35
von eXile
Naja, diesmal habe ich etwas zu jammern, und das geht -- zum ersten Mal -- spezifisch an dich, Krishty: Der Vorschlag mit der Ionenkanone (wir wissen, wovon wir reden), ist ja wohl ein Griff ins Klo. Einerseits schießt man damit den Computer irgendeiner Hausfrau ab, die z.B. gerade ihren Internet Explorer seit fünf Jahren nicht gepatcht hat. Andererseits ist das doch eher Ausdruck eines mittelalterlichen Rechtempfindens, zu dem ich hier ganz klar Abstand nehme.

Auf der anderen Seite stimmte ich dir zu, dass diese Thread etwas off-topic wurde, und würde hier auch gerne nur Jammern und Jammer-Antworten sehen ;) (Das heißt aber auch, dass ein Jammer-Thread nur mit Jammern und ohne irgendwelche Antworten aufs Jammern etwas sehr monoton und unkonstruktiv ist.)

Nachtrag: Anscheinend muss mein Ironiedetektor neu kalibriert werden. Bitte diesem Post nicht zu ernst nehmen. ;)

Re: Jammer-Thread

Verfasst: 28.12.2010, 13:42
von Aramis
Er hat etwas gegen im niedrigen Orbit angesiedelte Ionenkanonen gesagt UND er ueberhoert Krishty's sanfte Ironie. Operation abbrechen, wir haben ein neues Ziel ;-)

PS: sieht noch jemand die deutliche soziologische Verbindung zwischen LOIC, S21 und Castortransporten?