Seite 88 von 254
Re: Jammer-Thread
Verfasst: 29.09.2012, 16:12
von CodingCat
dot hat geschrieben:Ich muss leider nochmal: Sollte wohl >= 0 heißen... ;)
Nein, das stimmt schon so. Das ist der klassische "To-Operator" (funktioniert so auch mit
unsigned Typen). ;)
dot hat geschrieben:Der Standard sagt imo explizit, dass das falsch ist, vielleicht sollte man den Bug reporten?
If the allocated type is an array type, the allocation function’s name is operator new[] and the deallocation function’s name is operator delete[].
Könnte man. Da der generierte Code aber ganz klar sagt, dass das explizit eingebaut wurde, wird daraus vermutlich nur eine Löschung mit By Design. Ich habe da etwas die Motivation verloren. ;)
dot hat geschrieben:CodingCat hat geschrieben:[...] Was schade ist, denn genau dieses Verhalten bräuchte man für Placement-Array-New.
Naja, imo solltest du das von dir gewünschte Verhalten doch einfach mit einem std::vector und entsprechendem Allocator hinbekommen!?
Ich habe die STL bei diesem Projekt bewusst rausgehalten. Aber es gibt ja noch andere Alternativen zu
new[], z.B. ordentlich benannte Funktions-Templates zur Allokation und Konstruktion nach Wunsch, welche ich schlussendlich auch gewählt habe.
Re: Jammer-Thread
Verfasst: 29.09.2012, 16:20
von dot
CodingCat hat geschrieben:dot hat geschrieben:Ich muss leider nochmal: Sollte wohl >= 0 heißen... ;)
Nein, das stimmt schon so. Das ist der klassische "To-Operator" (funktioniert so auch mit
unsigned Typen). ;)
Sry, da hast du natürlich völlig recht, ich hab natürlich übersehen, dass da ja ein Postfix Decrement ist...
Re: Jammer-Thread
Verfasst: 30.09.2012, 00:04
von Schrompf
Spaß mit Electronic Arts. Ich kann Battlefield3 nicht mehr starten. Ich versuche, Kontakt mit dem Support aufzunehmen. Ich bekomme DAS zu sehen. Das hat mein kaltes krankes Herz dann doch kurz erfreut.
Re: Jammer-Thread
Verfasst: 30.09.2012, 18:03
von Krishty
Die verdammten Kirchenglocken läuten hier schon seit zehn Minuten (keine Ahnung, warum – vielleicht, weil die A40 wieder freigegeben ist oder so) und ich kriege deshalb keine einzige Funktion auf die Reihe. Es kotzt mich so an, dass diese
wie-auch-immer-man-sie-jetzt-nennt nach Belieben allen anderen ihren spaghettimonsterheiligen Sonntag versauen können.
Nachtrag: Jetzt wird es noch lauter. Das Universum hasst mich, und die fanatischsten seiner Idioten offenbar auch.
Re: Jammer-Thread
Verfasst: 30.09.2012, 19:10
von CodingCat
Irgendwann kommt unweigerlich der Zeitpunkt, an dem man InterlockedMin/Max auch für 2-Byte- und 1-Byte-Werte will.
Re: Jammer-Thread
Verfasst: 01.10.2012, 00:09
von Jonathan
Krishty hat geschrieben:Die verdammten Kirchenglocken läuten hier schon seit zehn Minuten (keine Ahnung, warum – vielleicht, weil die A40 wieder freigegeben ist oder so) und ich kriege deshalb keine einzige Funktion auf die Reihe. Es kotzt mich so an, dass diese
wie-auch-immer-man-sie-jetzt-nennt nach Belieben allen anderen ihren spaghettimonsterheiligen Sonntag versauen können.
Nachtrag: Jetzt wird es noch lauter. Das Universum hasst mich, und die fanatischsten seiner Idioten offenbar auch.
Ich versteh gar nicht, was du hast, ich mag Glocken :)
Aber mach doch sonst einfach Musik an, oder so.
Re: Jammer-Thread
Verfasst: 01.10.2012, 14:02
von CodingCat
Ich muss 128 Müll-Frames mit minimaler Datenmenge vorrendern, bis der Treiber überhaupt anfängt, meine Shaders zu optimieren.
Re: Jammer-Thread
Verfasst: 01.10.2012, 14:14
von Lynxeye
Bedanke dich bei allen Spielen/Applikationen welche der Meinung waren, dass das übersetzen von Shadern mitten im Programmablauf eine gute Idee ist. Deshalb gibt dir der Treiber erst einmal einen unoptimierten Shader, welcher schnell übersetzt werden kann um dann später zu entscheiden, ob sich eine Optimierung lohnt.
Re: Jammer-Thread
Verfasst: 01.10.2012, 19:20
von CodingCat
First-chance exception at 0x775A86F2 (VsGraphicsHelper.dll) in Tracing_d.exe: 0xC0000005: Access violation reading location 0x00000000.
Einmal VC++ 2012 Graphics Diagnostics gestartet, ich komme nicht mal in das erste Frame.
Re: Jammer-Thread
Verfasst: 02.10.2012, 11:38
von capslock
CodingCat hat geschrieben:First-chance exception at 0x775A86F2 (VsGraphicsHelper.dll) in Tracing_d.exe: 0xC0000005: Access violation reading location 0x00000000.
Einmal VC++ 2012 Graphics Diagnostics gestartet, ich komme nicht mal in das erste Frame.
Das Problem habe ich auch. Bei mir ist die access violation immer bei der Enumeration der D3D11 fähigen Devices gekommen (D3D11CreateDevice Aufruf um das Feature Level eines Adapters abzufragen, aber ohne ein Device zu erstellen). Anscheinend erwartet der VsGraphicsHelper hier eine vollständige Device Erzeugung.
Die Lösung war dann die betreffenden Codezeilen fürs Debuggen auszukommentieren und den Adapter von Hand zu setzen. Es ist nicht wirklich eine befriedigende Lösung, aber so funktioniert es wenigstens überhaupt.
Re: Jammer-Thread
Verfasst: 03.10.2012, 20:15
von Krishty
Jonathan hat geschrieben:Krishty hat geschrieben:Die verdammten Kirchenglocken läuten hier schon seit zehn Minuten (keine Ahnung, warum – vielleicht, weil die A40 wieder freigegeben ist oder so) und ich kriege deshalb keine einzige Funktion auf die Reihe. Es kotzt mich so an, dass diese
wie-auch-immer-man-sie-jetzt-nennt nach Belieben allen anderen ihren spaghettimonsterheiligen Sonntag versauen können.
Nachtrag: Jetzt wird es noch lauter. Das Universum hasst mich, und die fanatischsten seiner Idioten offenbar auch.
Ich versteh gar nicht, was du hast, ich mag Glocken :)
Aber mach doch sonst einfach Musik an, oder so.
So ein Blödsinn. Als ob objektiv lauter Schall in den Privaträumen anderer plötzlich aufhört, Lärmbelästigung zu sein, weil du das Geräusch magst. Ich will
Stille zum Nachdenken. Musik einzuschalten wäre wie Jucken wegzukneifen.
Re: Jammer-Thread
Verfasst: 04.10.2012, 03:53
von eXile
Krishty hat geschrieben:Ich will Stille zum Nachdenken. Musik einzuschalten wäre wie Jucken wegzukneifen.
Na endlich sagt es man jemand; ich dachte schon, ich wäre hier anormal. DIe meisten meiner Kommilitonen hören Musik beim Benutzen des Rechners – ich nicht. Oder wie ich es gerne sage: Man muss sich beim Denken hören können.
Jammerei: Mein Mainboard kam mit einem Shitload von Schrott-Tools. Von den insgesamt sage und schreibe 24 Treibern und Tools musste ich genau zwei installieren. Was aber richtig interessant war, war das
hier, ein Tool zum gemeinsamen Betrieb der integrierten und dedizierten GPU. Insbesondere:
Was zum Geier?!
Re: Jammer-Thread
Verfasst: 04.10.2012, 17:07
von Krishty
eXile hat geschrieben:Was aber richtig interessant war, war das
hier, ein Tool zum gemeinsamen Betrieb der integrierten und dedizierten GPU. Insbesondere:
Was zum Geier?!
Hm. Sie lassen die Haupt-GPU bei voller Leistung ohne VSync rendern, und die Neben-GPU puffert die entstandenen Frames, um sie vertikal synchron anzuzeigen. Die Hoffnung ist, dass die Spiellogik so viel schneller arbeitet, dass die Latenz zwischen Reiz des Anwenders und Reaktion des Spiels auf seine Eingaben geringer wird als bei gewöhnlichem VSync.
Im Grunde banales Triple Buffering; nur, dass sie den Puffer von der Haupt- auf die Neben-GPU auslagern.
Re: Jammer-Thread
Verfasst: 05.10.2012, 10:57
von Jonathan
Krishty hat geschrieben:Sie lassen die Haupt-GPU bei voller Leistung ohne VSync rendern, und die Neben-GPU puffert die entstandenen Frames, um sie vertikal synchron anzuzeigen. Die Hoffnung ist, dass die Spiellogik so viel schneller arbeitet, dass die Latenz zwischen Reiz des Anwenders und Reaktion des Spiels auf seine Eingaben geringer wird als bei gewöhnlichem VSync.
Im Grunde banales Triple Buffering; nur, dass sie den Puffer von der Haupt- auf die Neben-GPU auslagern.
Wieso genau wird dadurch die Reaktion schneller? Ich meine, wenn der Bildschirm so oder so nur 60fps anzeigen kann, aus welchem Grund sollte es dann Sinn machen, mehr als 60 Bilder in der Sekunde zu berechnen? Man würde dann ja doch nicht alle sehen können, d.h. hätte Rechenzeit verschenkt?
Oder ist die Idee eher so, dass wenn man 60fps hat, man eingaben die kurz nach dem fertigstellen des Bildes kommen, erst im übernächsten anzeigen kann, weil dann ja schon die Berechnung des nächsten Bildes auf den alten Daten gestartet ist?
Re: Jammer-Thread
Verfasst: 05.10.2012, 13:03
von antisteo
Krishty hat geschrieben:eXile hat geschrieben:Was aber richtig interessant war, war das
hier, ein Tool zum gemeinsamen Betrieb der integrierten und dedizierten GPU. Insbesondere:
Was zum Geier?!
Hm. Sie lassen die Haupt-GPU bei voller Leistung ohne VSync rendern, und die Neben-GPU puffert die entstandenen Frames, um sie vertikal synchron anzuzeigen. Die Hoffnung ist, dass die Spiellogik so viel schneller arbeitet, dass die Latenz zwischen Reiz des Anwenders und Reaktion des Spiels auf seine Eingaben geringer wird als bei gewöhnlichem VSync.
Im Grunde banales Triple Buffering; nur, dass sie den Puffer von der Haupt- auf die Neben-GPU auslagern.
Ich habe es eher so verstanden, dass 60 Bilder pro Sekunde synchron am Bildschirm angezeigt werden und die nicht benötigten Bilder vorzeitig abgebrochen werden, sodass man oberhalb von 60 FPS noch Größenordnungen mehr erreichen kann, was natürlich die Schwanzlänge nach oben treibt und in Benchmarks die Messlatte etwas weiter oben angesiedelt werden muss.
Re: Jammer-Thread
Verfasst: 05.10.2012, 17:27
von Krishty
Jonathan hat geschrieben:Oder ist die Idee eher so, dass wenn man 60fps hat, man eingaben die kurz nach dem fertigstellen des Bildes kommen, erst im übernächsten anzeigen kann, weil dann ja schon die Berechnung des nächsten Bildes auf den alten Daten gestartet ist?
Die Idee ist, dass die Hauptschleife öfter durchlaufen wird (statt auf das VSync zu warten), und das Spiel dadurch schneller reagiert – egal, ob du das schon im nächsten Frame siehst oder erst im Übernächsten.
antisteo hat geschrieben:Ich habe es eher so verstanden, dass 60 Bilder pro Sekunde synchron am Bildschirm angezeigt werden und die nicht benötigten Bilder vorzeitig abgebrochen werden, sodass man oberhalb von 60 FPS noch Größenordnungen mehr erreichen kann, was natürlich die Schwanzlänge nach oben treibt und in Benchmarks die Messlatte etwas weiter oben angesiedelt werden muss.
Das ist die Funktionsweise von
HyperFormance, aber nicht vom
Virtual Vsync, auf das sich eXile bezog. Ehrlich gesagt halte ich das aber für sinnvoller. Mich plagt schon lange die Frage, wie ich Direct3D 9 möglichst synchron zu meinem CPU-Ablauf kriege um die Reaktionszeit zu minimieren … (in Direct3D 10 ist es einfach: irgendwo in den Presentation Parameters gibt es was dafür.)
Re: Jammer-Thread
Verfasst: 05.10.2012, 20:58
von CodingCat
Gerade mal mein Ray Tracing mit der gesamten Szene in einem einzigen Batch getestet. 40 statt 60 ms Trace-Zeit! 20 von 60 ms gehen mir wohl nur wegen der vielen Shader- und Puffer-Wechsel pro Batch verloren. Diese wiederum sind unvermeidbar, weil ich mit DX 11.0 nunmal nur im Pixel Shader vollen Leseschreibzugriff habe. Wann kommt endlich die DX 11.1 Runtime für Windows 7?! :evil:
Re: Jammer-Thread
Verfasst: 06.10.2012, 13:31
von Krishty
Diese 257×257-Heightmap wird rekursiv mit Rauschen aus einem
kleinen Mersenne-Twister erzeugt; die Vertices werden
einzeln auf der CPU transformiert; danach wird jedes Quad
einzeln via
DrawPrimitiveUP() zur GPU geschickt. Ein Drittel der Höhenwerte wird doppelt beschrieben weil ich faul bin. Das ganze läuft
im Debug-Modus mit über 20 Hz auf meinem drei Jahre alten Core i7.
Ich kann die Rechenleistung, die Adobe Acrobat zum Starten benötigt, nicht begreifen. Ich bin einfach mental nicht in der Lage zu verstehen, was für gigantische Maschinerie da bei jedem Doppelklick in Gang gesetzt werden muss, wenn ich
sowas in Echtzeit im Debug-Modus auf den Bildschirm scheißen kann während Acrobat erstmal für acht Sekunden mein System lahmlegt.
Re: Jammer-Thread
Verfasst: 06.10.2012, 13:36
von dot
Ja, der Adobe Reader ist echt...da fehlen einem die Worte. Ich verwend immer noch Version 9.x, das is imo der letzte, der noch einigermaßen benutzbar ist (der Reader X hing auf all meinen Windows 7 PCs ständig
komplett fest). Alternativ kannst du dir z.B. mal
Sumatra PDF anschauen...
Re: Jammer-Thread
Verfasst: 06.10.2012, 13:41
von Krishty
Nö; ich versuche gerade, PDF an Chrome zu binden.
Chrome ist hier sowieso immer offen und die PDFs laden schneller als ich mich über irgendwas aufregen kann. Ist nur so komisch auf dem System versteckt …
Re: Jammer-Thread
Verfasst: 06.10.2012, 13:47
von dot
Kennst du einen Weg, um in Chrome eine Document Outline (Bookmarks) zu bekommen? Denn gerade das fehlt mir in Chrome immer und ich könnte mir im Moment nicht vorstellen, Dokumente wie z.B. den C++ Standard (Draft) in Chrome zu lesen...
Re: Jammer-Thread
Verfasst: 06.10.2012, 13:49
von Krishty
Oh; guter Punkt. Ich, ähm, greife auf Seitennummern und Suchfunktion zurück. Bin eher ein analoger Mensch.
Re: Jammer-Thread
Verfasst: 06.10.2012, 19:43
von Krishty
Wow. Nicht nur, dass auf Mobile Intel 945 Express das Clipping extrem danebenliegt (das Flackern geht mir schon seit Monaten auf den Zwirn) – wenn man hinreichend viele über den Bildschirm hinausreichende Dreiecke zeichnet, gehen sogar die Texturkoordinaten von anderen Dreiecken vor dem Draw Call kaputt. I can't Eeeven
Re: Jammer-Thread
Verfasst: 09.10.2012, 00:14
von Krishty
Ich habe den Mikrooptimierungs-Thread keineswegs vergessen. Im Gegenteil – ich habe hier jede Menge mehr oder weniger fertiger Artikel rumliegen. Leider habe ich festgestellt, dass sich so ziemlich jede Quintessenz daraus in meinen eigenen Programmen zum Gegenteil wandelt. Das einzige, wozu der Kram im Augenblick gut ist, ist besseres Verständnis des Textes.
Re: Jammer-Thread
Verfasst: 09.10.2012, 14:42
von CodingCat
Haben wir noch Anfang Oktober oder sind die Power Productivity Tools 2012 schon draußen?
Re: Jammer-Thread
Verfasst: 09.10.2012, 16:22
von CodingCat
Meine 20 ms Overhead beim Tracing mehrerer Batches verschwinden nicht, wenn ich alle Berechnungen in die Grafikpipeline verlege. Damit ist das Problem wohl nicht der Wechsel Zwischen Grafik-Pipeline und Compute-Pipeline, sondern vielmehr der ständige Puffer- und Shaderwechsel (UAV Input/Output).
Re: Jammer-Thread
Verfasst: 09.10.2012, 18:43
von Helmut
Wenn man in Windows 8 auf eine doc Datei klickt ohne Word installiert zu haben erscheint nach circa 10 Sekunden Ladezeit eine App, die einem mitteilt, dass im Internet nichts zum Öffnen gefunden werden konnte.
Re: Jammer-Thread
Verfasst: 09.10.2012, 19:26
von Krishty
Ich finde es abgrundtief traurig, dass sie dafür keine Offline-Datenbank haben. Seit 15 Jahren sind es immer dieselben Dateitypen, die die User nicht öffnen können (.doc, .ppt, .mkv); und Dateierweiterungen sind nicht gerade etwas, das sich stündlich ändert, so dass man erstmal online nachgucken muss bevor man für .doc Installieren Sie Office anzeigen kann.
Ich wüsste gern, was der Typ, der das verzapft hat, dazu zu sagen hat. (Vielleicht gibt es ja wirklich überirdische Usability-Gründe dafür; bei OldNewThing hat man ja manchmal so Erleuchtungen.)
Re: Jammer-Thread
Verfasst: 09.10.2012, 23:27
von CodingCat
Ich bin noch immer locker um das 7-fache entfernt von der Ray Tracing Performance von
Aila und Laine. Zwar komme ich im Gegensatz zu denen ohne statische BVH mit reinen Dreieckssuppen aus, selbst mit Aussicht auf DX 11.1 Runtime, algorithmischer und Mikrooptimierung ist das aber ziemlich weit weg. So weit weg, dass die Motivation zur Installation von Windows 8 sehr gering ausfällt.
Re: Jammer-Thread
Verfasst: 11.10.2012, 19:39
von glassbear
Boah, Regen. In Southern California. Echt jetzt! :shock: