Seite 134 von 252

Re: Jammer-Thread

Verfasst: 30.09.2014, 19:42
von Schrompf
OpenGL verhält sich wie eine verdammte Diva, wenn es um Standard-Uniforms geht. Man darf *keine* Annahmen darüber machen, wie die Sachen im Speicher liegen, und man muss mit *exakt* der richtigen Funktion die Daten schreiben, sonst wird die Zuweisung abgelehnt. Weil es ja auch so ein verdammtes Drama ist, ob ich jetzt glUniform3f() oder glUniform4f() nehme - ein Float zuviel und die Grafikkarte könnte explodieren!

Ich will einen "Halt die Schnauze und schreib diese Floats"-Befehl. Den kriegt man zusammen mit den notwendigen konsistenten Layout-Regeln aber leider erst mit Uniform Buffers, die im Shader-Code dann aber explizit benutzt werden müssen. So was Banales rückwärtskompatibles wie der Constant Buffer $GLOBAL, den DX11 benutzt, wär ja auch zu einfach. Und das krieg ich dann nicht mehr so einfach crosscompiled auf DX9.

Re: Jammer-Thread

Verfasst: 30.09.2014, 19:59
von Krishty
Und dann liegt das 4. float bei Anwender Konrad Wurst auf einer anderen Speicherkachel als die ersten drei und alles stürzt ab und du beschwerst dich, dass du nicht früher gewarnt wurdest, dass du vier floats hochladen willst wo nur drei sind?

Re: Jammer-Thread

Verfasst: 30.09.2014, 20:02
von Schrompf
Naja, wenn der Treiber eh so empfindlich ist und exakt die Größe des Zielwerts prüft, dann kann er doch auch einfach die gewonnene Erkenntnis verwerten und den vierten Float verwerfen, anstatt sich in einem Trotzanfall auf dem Boden rumzurollen.

Re: Jammer-Thread

Verfasst: 30.09.2014, 20:34
von Krishty
Man könnte auch einen Exception Handler schreiben, der bei jeder Zugriffsverletzung 0 zurückgibt bzw. nichts schreibt. Ich glaube nur nicht, dass das der Qualität zuträglich wäre ;) (Direct3D macht das auf der GPU so. Viel Glück, den Quelltext wo anders hin zu portieren.)

Fehlerbehandlung ist ja immer eine Modeerscheinung (in den 80ern keine; in den 90ern Fehlerwerte; in den 00ern Ausnahmen). Aber man hat viele Untersuchungen angestellt, ob Compiler ein fehlendes Semikolon nicht einfach selber einsetzen sollen statt sich drüber zu beklagen, und ob Rechtschreibprüfung die Wörter nicht direkt ersetzen sollte statt sie rot zu unterkringeln, und die Quintessenz ist immer sehr ähnlich: Wenn der Computer vor mehrdeutiger Eingabe steht, und versucht zu erraten, was der Anwender meinte, bringt das erwachsene Männer zum Weinen. OpenGL fragt lieber nochmal nach. Und Mehrdeutigkeiten gibt es nunmal viele, weil es portabel ist.

Re: Jammer-Thread

Verfasst: 30.09.2014, 20:54
von xq
Wahre Worte!

Re: Jammer-Thread

Verfasst: 30.09.2014, 22:29
von TDK
Das Problem um Force Feedback ist gelöst:

Bild

Re: Jammer-Thread

Verfasst: 01.10.2014, 15:07
von kimmi
Letzte Woche voller Hektik von einem Projektleider nach USA einberufen worden, um dann zu erfahren, dass der in dem abgesprochenen Zeitraum gar nicht da ist. Also erst buchen, dann rauskriegen, wann Zeit ist, feststellen, dass der Einladende nicht da ist, um dann alles wieder abzusagen.

Ohne Worte!

Kimmi

Re: Jammer-Thread

Verfasst: 01.10.2014, 16:05
von Helmut
Spiele Programmierer hat geschrieben:Du darfst in einer Funktion einfach keine Funktion deklarieren. Aus. Da ist eigentlich nichts unlogisch daran, dass ist einfach so und macht auch Sinn.
Leider darf man das schon... Nur sie dort auch zu definieren ist wenigstens nicht erlaubt.

Re: Jammer-Thread

Verfasst: 01.10.2014, 18:37
von Spiele Programmierer
Wow, du hast recht.
War mir nicht bewusst, obwohl ich selbst den Fehler gemacht habe, ein Objekt mit () zu konstruieren.
Kommt wahrscheinlich noch aus C.

Und ok, das finde ich jetzt auch unlogisch. :P

Re: Jammer-Thread

Verfasst: 01.10.2014, 22:18
von Krishty
Ja; das nennt man den Most Vexing Parse.

In Visual C++ wird irgendein Schalter umgelegt, so dass Funktionen ab bestimmten Stack-Ansprüchen rbp statt rsp zur Adressierung nutzen. Das kann katastrophale Auswirkungen auf die Größe der Maschinenbefehle haben (ein paar lokale Variablen hinzufügen und die Funktion wird 100 B größer); aber ich sehe kein Muster. Gegen sowas sollte ich auch sowieso nicht optimieren. Mist.

Außerdem sortiert Visual C++ lokale Variablen im Speicher um statt die Deklarationsreihenfolge zu verwenden. Wenn man eine bestimmte Reihenfolge erzwingen will um besser zu adressieren, muss man alle lokalen Variablen in ein struct packen.

Darum noch eine Optimierung, falls ein Clang-Entwickler über mein Gejammer stolpert: Methoden sollten kein this benutzen, sondern this plus Versatz des ersten Attributes, das innerhalb der Funktion tatsächlich benutzt wird. Variablen sollten so sortiert werden, dass die am häufigsten benutzten den geringsten Versatz haben. Bei Objekten von über 256 B Größe bzw. bei über 256 B lokalen Variablen bewirkt das, dass öfter 8-Bit-movs benutzt werden können statt 32-Bit-movs; mit mindestens drei Bytes Größengewinn bei jedem Stack-Zugriff. Kann einige Funktionen auf ein Drittel schrumpfen und dürfte damit das Instruction Prefetching entlasten (höhere Anweisungsdichte im Cache).

Und dass ich jetzt schon für sowas optimiere, und damit tatsächlich noch ein paar Prozent raushole, das ist wieder jammernswert.

Re: Jammer-Thread

Verfasst: 02.10.2014, 00:54
von CodingCat
Windows 10 - alles ergibt einen Sinn!
searchcode.com hat geschrieben:About 4,342 results
[...]
if (os.startsWith("Windows 9") || os.startsWith("Windows Me"))
[...]
Erinnern wir uns an Opera 10, Internet Explorer 10? Diesmal ist es umgekehrt. Da hat tatsächlich jemand mitgedacht, es ist die einzig richtige Entscheidung!

Re: Jammer-Thread

Verfasst: 02.10.2014, 01:03
von Krishty
Der Tag, an dem Raymond Chen über den Titel der nächsten Windows-Version entschied.

Re: Jammer-Thread

Verfasst: 02.10.2014, 02:54
von Krishty
Mir fiel eben dieser Wikipedia-Artikel über Floyd-Steinberg-Dithering auf, weil er dieses Beispielbild benutzt:
Bild
und als geditherte Version dies (scheinbar via Gimp berechnet):
Bild
Das erscheint mir *viel* zu hell. Like, monstermäßig das Gamma verkackt. Im Sinne von: Gamma überhaupt nicht beachtet und die Farbfehler in den dunklen Bereichen 1:1 auf die hellen Bereiche aufaddiert. (Deutlichstes Zeichen: das rote Federkleid wird pink.)

Also habe ich mich rangesetzt und meinen Ditherer mit linearem Farbraum ausgepackt und das Foto durchgejagt. Ergebnis:
Bild
Woah shit – auch wenn die Farben nun passen, viel zu dunkel!

Mittlerweile bin ich so weit, dass fehlende Mitteltöne problematisch sind. Da nur ein Bit pro Kanal zur Verfügung steht, bedeutet das Schreiben eines Wertes != 0 potentiell das 60.000-fache des beabsichtigten Werts, und "vergiftet" damit alle Pixel drumherum, so dass sie sehr lange dunkel bleiben. Ein schönes Beispiel wo man die Mathematik verbessert, aber das Ergebnis nicht.

Re: Jammer-Thread

Verfasst: 02.10.2014, 11:15
von Jonathan
CodingCat hat geschrieben:Windows 10 - alles ergibt einen Sinn!
searchcode.com hat geschrieben:About 4,342 results
[...]
if (os.startsWith("Windows 9") || os.startsWith("Windows Me"))
[...]
Erinnern wir uns an Opera 10, Internet Explorer 10? Diesmal ist es umgekehrt. Da hat tatsächlich jemand mitgedacht, es ist die einzig richtige Entscheidung!
Ja, das ist ganz toll, Windowsversionen abfragen, die es noch gar nicht gibt. Ich erinnere mich daran, dass ein Spiel das mal gemacht hat, das eigentlich nur Windows 95/98 mag. Mein XP hat es damals als Windows NT erkannt, und weil es unter dem echten Windows NT nicht lief, wollte es sich auch nicht unter XP starten lassen, obwohl es dort höchstwahrscheinlich funktioniert hätte. Naja, im Kompatibilitätsmodus ging es dann doch irgendwann.

Re: Jammer-Thread

Verfasst: 02.10.2014, 11:21
von Jonathan
Oh, nochwas: Ich hasse das Internet. Ich bin tatsächlich an den Punkt angekommen, an dem es mich wirklich nervt. Nicht weil die Technik schlecht gemacht wäre. Sondern weil die Zielgruppe mittlerweile ganz offensichtlich Leute sind, die entweder dumm sind oder sich gerne verarschen lassen.

Ich wollte für die neue Wohnung einfach nur Strom- und Internetanbieter recherchieren. Es ist auf allen Webseiten einfach das gleiche: Überall steht in dicken Zahlen, wie viel man spart, und was es für tolle Sonderaktionen gerade jetzt gibt, aber was man eigentlich bezahlt, und vor allen Dingen was genau man bekommt, das ist viel schwieriger zu finden, als man denken würde. In der Regel muss man einen Bestellvorgang Starten, um überhaupt irgendetwas anderes als Werbung zu sehen.
Es fängt ja schon mit Dingen wie "Im ersten Jahr nur x€" an - wie viel man danach bezahlt steht mit Glück klein daneben, mit Pech muss man es wirklich erst suchen. Welcher Marketing-Idiot denkt, dass das toll wäre? Werde ich wirklich für so dumm gehalten, in der heutigen Welt nicht mehr darauf zu achten, was ich eigentlich bestelle? Wieso wollen mich Firmen verwirren und verarschen, anstatt mir ehrlich zu sagen, was sie mir für welchen Preis bieten?
Und das schlimme ist, jede Webseite ist auf eine andere Art unübersichtlich. Das Spiel fängt jedesmal von vorne an. Liebe Anbieter, wenn wir uns den ganzen Marketing-Verwirrscheiß einfach mal sparen könnten, hätte wir am Ende beide mehr Zeit und Geld. Aber nein, wir optimieren lieber für Doofe, die offensichtlich auf so einen quatsch stehen. Arme Welt...

Re: Jammer-Thread

Verfasst: 02.10.2014, 11:52
von TheBenji
Das ist zwar nervig hat aber nichts mit dem Internet zu tun.
Das ist ja derselbe Bullshit ueberall.
Kannst da auch anrufen und dich verarschen lassen...

Re: Jammer-Thread

Verfasst: 02.10.2014, 12:22
von Stephan Theisgen
Aber das ist schon armselig! Ich habe letztens versucht die Preise für eine besondere Überweisung und für das Zusenden der Kontoauszüge (eine weniger außergewöhnliche Aktion) bei meiner Bank auf deren WebSite herauszufinden. Das war FAST unmöglich. Eigentlich war das Internet mal für den Austausch von Informationen gedacht, aber echte Information sind immer schwerer zu finden.

Re: Jammer-Thread

Verfasst: 02.10.2014, 13:30
von Krishty
Jetzt erinnert mich der Thread an den Konditor um die Ecke. Der hat bayerische Wochen. Darum steht da jeden Morgen um elf Uhr ein Dutzend Rentner drin und diskutiert darüber, wie „dieses Internet“ die Jugend verblöden lässt.

Vorher habe ich ja nur allein über meine Spezialprobleme gejammert; da war das mehr so wie der Stadtpark mit dem verwahrlosten Penner, der die Tauben anschreit.

Re: Jammer-Thread

Verfasst: 02.10.2014, 15:50
von Alexander Kornrumpf
Wer mal eine Reise online buchen wollte, der wird bald feststellen, dass hinter vielen (fast allen) Portalen offensichtlich dieselbe Datenbank läuft. Ich habe mal läuten hören, in der Branche sei das ein Riesenlacher, dass die Kunden das offenbar nicht merken.

So wie die inszenierte Konkurrenz zwischen dem roten und dem blauen Elektronikmarkt.

Re: Jammer-Thread

Verfasst: 15.10.2014, 02:00
von xq
Zum Thema Datenbank:
www.spotoption.com beliefert so ziemlich jeden Broker für Binary Option Trading. Die API ist Grütze und verbuggt und in non-conform XML. Schön ist auch, wenn man für einzelne Broker dann auch noch Fixes in ein System machen muss, weil sie eine "ältere" Version der Datenbank verwenden.
Grauenhafte Sache, damit zu arbeiten.

Aber ja, mich kekst das auch an, dass man nirgendwo mehr gut präsentierte Informationen findet. Überall wird man nur zugeschissen mit Werbung, Ablenkung und was weiß ich. Richtig gut sortierte und aufgeräumte Websites sind echt selten geworden :(

ZFX ist da echt schon schön, es passiert zwar "nichts" verglichen zu so manch anderen Foren, dafür aber ist fast jeder Thread beobachtenswert.

Re: Jammer-Thread

Verfasst: 16.10.2014, 22:16
von Krishty
Ich sehe auf YouTube wieder Werbung.

Re: Jammer-Thread

Verfasst: 17.10.2014, 08:54
von Ingrater
Warum das?

Re: Jammer-Thread

Verfasst: 17.10.2014, 10:38
von TheBenji
...und die spielen immer oefter Werbung die 20 Sekunden oder so geht die du aber nicht skippen darfst.
Und da kann das video da hinter noch so toll sein, das guckt sich doch keiner mehr an...

Re: Jammer-Thread

Verfasst: 17.10.2014, 10:44
von Krishty
Ingrater hat geschrieben:Warum das?
Mein Skriptblocker hat alle Daten verboten, die nicht von s.ytimg.com kamen – auch die Werbung, die auf Googles Ad-Servern lag.

Aber jetzt liegt die Werbung auf dem selben Server wie die Videos.

Re: Jammer-Thread

Verfasst: 17.10.2014, 15:17
von Ingrater
Tja dann wird es doch mal zeit für AdBlock Edge ;-)

Re: Jammer-Thread

Verfasst: 17.10.2014, 20:29
von Krishty
Meh; Ad Blocker. Ich will ja nicht nur Werbung weghaben, sondern einfach alles an Skripten, das ich nicht manuell zulasse. Aber ein letzter Ausweg wäre es; ja.

Re: Jammer-Thread

Verfasst: 17.10.2014, 20:38
von Spiele Programmierer
AdBlock + NoScript?

Was haben Scripte im Allgemeinen mit Werbung auf einer anderen Domain bei Youtube zu tun?

Re: Jammer-Thread

Verfasst: 17.10.2014, 21:17
von Krishty
Die Skripte laden Ressourcen von wo anders nach; darum ging es. Eigentlich jammere ich mehr darüber, dass der Skriptblocker früher dank Werbung-Outsourcing die Werbung gleich mitgetötet hat, und jetzt nicht mehr :)

Re: Jammer-Thread

Verfasst: 24.10.2014, 15:55
von joggel
Auch mal wieder jammern:

so schön das offline leben ist, etwas nervig ist es schon wenn man was im www nachschauen will und man hat nur ein smartfon was uralt ist.... :?

Re: Jammer-Thread

Verfasst: 27.10.2014, 12:44
von Krishty
GetMessageTime() liefert nicht den Zeitstempel der letzten WM_PAINT. Sogar WM_CURSOR kommt an, aber nicht WM_PAINT. WTF?!