Seite 173 von 251

Re: Jammer-Thread

Verfasst: 02.08.2017, 16:19
von Krishty
Scheiß Visual Studio haut einen .gfids-Abschnitt in eine meiner DLLs. Niemand weiß genau, wofür der da ist – höchstwahrscheinlich sind das die Adressen für die Control Flow Guard-Option gegen Angriffe auf Virtual Function Tables, die mit VS 2015 eingeführt wurde. Das ist bei mir aber aus. Trotzdem landet der Scheiß bei mir. Aber eben nur in einer DLL, nicht in allen. Fuck this shit.

Re: Jammer-Thread

Verfasst: 04.08.2017, 14:27
von Krishty
Dass MMX auf 64-Bit-Windows nicht unterstützt wird, ist blanke Willkür.

Re: Jammer-Thread

Verfasst: 04.08.2017, 14:38
von Schrompf
Ein Versandhändler über Amazon hat uns ne Lieferung mittels DPD geschickt. So ein Mist. Die (und viele andere Postunternehmen auch) stellen nämlich gar nicht mehr zu, sondern packen den Scheiß nur noch in ihre Logistikzentren und erwarten dann von Dir, dass Du sie abholst. Und das hätte ich ja notgedrungen auch getan, wenn die Arschlöcher Bescheid gesagt hätten. Stattdessen ist das Ding nach ner Woche stillschweigend zurück an den Absender gegangen. Und ich habe, als mir nach anderthalb Wochen dann ein Verdacht wuchs, mal in die Sendungsverfolgung geschaut und erst dort überhaupt davon erfahren.

"Wir konnten Sie leider nicht zu Hause antreffen." - mir fehlen die Kraftausdrücke, um diese Verlogenheit in Worte zu fassen.

Re: Jammer-Thread

Verfasst: 08.08.2017, 16:53
von Krishty
Kurzer Tipp am Rande: Wenn ihr auf eurem Firmen-PC in eurem Firmen-LAN während der Arbeitszeit einen Crack für ein kommerzielles Programm schreibt, der dann auch noch auf dem Firmen-Server liegt, klickt bei Abstürzen besser nicht nicht auf „Absturzbericht senden“.

Ich kann nicht glauben, was hier alles an Telemetrie ankommt.

Re: Jammer-Thread

Verfasst: 09.08.2017, 12:37
von Tiles
Alter kotz ich grad ab hier. Windows Update gemacht, falsch geklickt, das Vieh hat mir irgendwas von Nvidia installiert, und seitdem flackert der Bildschirm vor sich hin . Selbst den neuesten Nvidia Treiber überinstalliern hat nichts geholfen -.-

EDIT sagt, Treiber uninstalliert, gerebootet, schwupps fängt Windows von selber an den Nvidia Treiber neu zu installieren: WTF?

Wenigstens ist das Geflacker jetzt weg -.-

Re: Jammer-Thread

Verfasst: 10.08.2017, 00:07
von Krishty
Habe das SSE-Optimierungs-Blabla in den Mikrooptimierungs-Thread verschoben.

Re: Jammer-Thread

Verfasst: 10.08.2017, 13:27
von Krishty

Re: Jammer-Thread

Verfasst: 11.08.2017, 22:57
von antisteo
cpanel ist das schlechteste Hosting-Tool überhaupt. Man sucht stundenlang nach einer Funktion, die man vom SSH kennt. Letzendlich gibt man auf und schreibt ein PHP-Skript

Code: Alles auswählen

<?php
system('tar xf release.tar.xz');

Re: Jammer-Thread

Verfasst: 14.08.2017, 04:13
von Krishty
Follow-Up zu dem hier:

Der Flaschenhals meines Thumbnail-Handlers ist die D3D-Initialisierung. Modell laden? Dauert im Median eine Hundertstelsekunde. Auf die GPU laden, rendern, Screenshot auf CPU zurückholen? Dauert etwas länger.

Direct3D initialisieren? 0,5–2,0 Sekunden. I can’t even

Re: Jammer-Thread

Verfasst: 14.08.2017, 07:27
von DerAlbi
Thumbnail? Klingt nach nur einem Bild, das du rendern magst, vermutlich mit überschaulicher geometrie, simpler texurierung, fixe Kamera und fixes licht....
Schnuffipupsi, nimm nen Software rasterizer dafür, der ist direkt in deiner Exe, braucht keine komplexe initialisierung und ist 100x schneller für nen Einzelbild. :-)
Kannst mal deine Anforderungen sagen, evtl hab ich sogar was schlankes da.

Re: Jammer-Thread

Verfasst: 14.08.2017, 11:22
von Krishty
… Shader, Linear Color Space, und viel Anti-Aliasing/anisotrope Filterung, weil das Bild ja so klein wird. Prinzipiell ein guter Vorschlag, aber ich glaube, dass er nicht mit Feature-Erweiterung skalieren wird.

Re: Jammer-Thread

Verfasst: 14.08.2017, 11:41
von Tiles
Kochend heisses Wasser kann ganz schön heiss sein. Besonders auf der Hand! BIN WACH!

Re: Jammer-Thread

Verfasst: 14.08.2017, 13:56
von DerAlbi
Hmmh. Shader sind mist. Das ist echt ein bisschen schade. Anti-Aliasing halte ich für unwichtig: angesichts der Zielbildgröße ("thumbnail"), kannst du locker 8x größer skalieren und dann runterrechnen.
Mehr als Licht auf Vertexbasis + Texturierung kann mein Software-renderer leider nicht :-( Wenn es originalgetreu wie im Programm aussehen muss, musst du zwangläufig die Renderpipeline davon nutzen.. hmmh. Shader zu portieren wäre quatsch. Andererseits, wenn ich mir typische Renderings von STL-Dateien anschaue... dann wird das einfach nur in schattiertem Blau dargestellt und gut. Reicht für quasi alles aus.
Wenn ich jetzt in Fusion360 die Thumbnails anschaue... dann werden die direkt im Dateiformat mitgespeichert (oder im Client-Computer gecached) . Ich vermute ersteres fällt für dich aus, letzeres lässt hoffentlich dein Ego nicht zu :-D
Alternativ lassen manche Assi-Produkte auch einfach nen Hintergrundservice laufen. Da kannste D3D die ganze Zeit offen haben und gut.

Jammern:
ich faste seit 1. Woche. Also etwas mehr als 7 Tage, aber noch keine 8 Tage. Essen ist echt ein Zeitvertreib. Jedes mal, wenn ich lange weile habe oder ich nicht weiterprogrammieren will, bin ich planlos, was ich mit mir anstellen soll. Auch Youtube ist nicht unterhaltsam, wenn man nicht nebenbei in der Küche rumdüdelt. Und es fehlt etwas im Tag, auf das man sich freut. Andererseits, so wie ich Essen eher zur Gewohnheit gemacht habe, anstatt zum Bedürfnis, ist auch klar, warum ich so klatschenfett bin. 7,5kg sind weg. Kalorientechnisch laut Fitness-tracker sind da aber maximal 19.500kcal, was heißt, 2.6kg fett, ansonsten Wasser und... Kacke ^_^. Ich habe vor, noch ne Woche dran zu hängen.

Re: Jammer-Thread

Verfasst: 14.08.2017, 14:32
von Krishty
Shader emulieren würde mir sogar extrem Spaß machen, weil das perfekt für SIMD ist. Via AVX acht Shader parallel bedienen und so. An der Komplexität von Intels Treibern (die ja genau das mit ihren On-Chip-Sätzen tun) sieht man aber, dass das wieder so eine Lebensaufgabe wäre.

STL ist der simpelste Fall, aber auch da gibt es Farben und Materialien (wenn auch sehr stark eingeschränkt). Einfach schattieren reicht auch nicht; ich habe hier sieben Lichtquellen (Vergleich ein – drei – sieben Lichter; Image Based lieferte noch viel bessere Ergebnisse, war aber zu teuer):
2016-11-17 alte Beleuchtung in Thumbnails.png
2016-11-17 alte Beleuchtung in Thumbnails.png (206.11 KiB) 8987 mal betrachtet
VRML & OBJ haben relativ komplexe Materialsysteme mit Texturen. Neue Formate sind viel komplexer. Ambient Occlusion möchte ich auch bald drin haben, usw usf. Da reicht Software Rasterizing einfach nicht aus.

Re: Jammer-Thread

Verfasst: 14.08.2017, 16:04
von DerAlbi
Die Anzahl der Lichtquellen ist für einen Rasterizer egal... das frisst keine Performance, solange die keine Schatten werfen sollen. (Ist vertexbasiert, da lacht der Prozessor drüber)
Verschiedene Materialien sind auch nicht schlimm, solange die aus den üblichen Lichtfarben und Texturen bestehen...
wenn du Zeugs haben willst wie Ambient Occlusion.... da wirds halt hart und unhandlich.

Andererseits will ich auch mal die Stimme der Vernunft sein:
a) es ist vollkommen sinnlos das mega zu optimieren, parallelisieren usw.. (abgesehen von den Farboperationen). Es geht um ein Einzelbild, das schneller sein soll als 0.5sec. Da es sich inherent in der Auflösung eh nur um ms handelt, ist die optimierung - was performance angeht - fehlgeleitet. Ich hatte auf einer RISC architektur etwa 17 Takte pro Pixel.. ich vermute ein SIMD-CISC, wird da noch etwas anders drüberhämmern.
b) Es ist ein Thumbnail. Der Sinn der Sache ist eine Vorschau zu haben, was in der Datei steckt. Ich verstehe den Anspruch, es hübsch haben zu wollen, aber angesichts der Größe des Bildes und der Nutzer-Interaktion mit solch einem Thumbnail (kurz gucken, erkennen, dass man doch ne andere Datei sucht, und wech..) ist die Jagt nach visueller Perfektion eventuell nicht rational begründbar.
Überleg mal, wenn du Anwender der Software wärst: das Bild ganz rechts würde dir als Thumbnail vollkommen ausreichen... und das ist easy mit nem Software-Renderer. Ob da nun Grafik-Finessen drinstecken oder nicht ist dir vollkommen egal, solange dein Ordner voller Modelle nicht 2min zum laden braucht.

Keine Sorge, ich laber nur, mir ist klar, dass ich nicht alle Gegebenheiten kenne :-)

Re: Jammer-Thread

Verfasst: 14.08.2017, 17:00
von Krishty
DerAlbi hat geschrieben:a) es ist vollkommen sinnlos das mega zu optimieren, parallelisieren usw.. (abgesehen von den Farboperationen). Es geht um ein Einzelbild, das schneller sein soll als 0.5sec.
Neee. Wenn ich einen Ordner öffne, und das Fenster maximiert ist, sind 180 Thumbnails direkt auf dem Bildschirm sichtbar. Die bauen sich dann einzeln nacheinander auf, fast eine Minute lang, bis sie unten rechts angekommen sind. Das ist derart langsam, dass es wehtut. Ab scheiß Windows 8 wird der Thumbnail Cache auch dauernd wieder gelöscht, das kommt also ständig vor. Da kann ich auch gleich nach Dateinamen gehen.
DerAlbi hat geschrieben:b) Es ist ein Thumbnail. Der Sinn der Sache ist eine Vorschau zu haben, was in der Datei steckt. Ich verstehe den Anspruch, es hübsch haben zu wollen, aber angesichts der Größe des Bildes und der Nutzer-Interaktion mit solch einem Thumbnail (kurz gucken, erkennen, dass man doch ne andere Datei sucht, und wech..) ist die Jagt nach visueller Perfektion eventuell nicht rational begründbar.
Das stimmt schon – aber so lange das Material- und Shadingsystem aus der Hauptanwendung problemlos in die Thumbnails übertragbar ist, brauche ich den Code nur einmal warten. Und da sind halt Transparenz/Beleuchtung/Antialiasing (plus Coverage Supersampling) usw. gratis drin.

Man kann auch aus der anderen Richtung argumentieren. „Du kannst eine Datei in einer Hundertstelsekunde laden und problemlos 120 Mal pro Sekunde rendern. Warum kann ich dann keine Vorschaubildchen für meine Thumbnails kriegen?“„Weil der Grafiktreiber eine halbe Sekunde zur Initialisierung braucht.“ Das ist nicht rational argumentierbar. Das ist WTF.

Re: Jammer-Thread

Verfasst: 14.08.2017, 17:07
von Helmut
Hast du denn dir Möglichkeit das Dateiformat zu ändern? Falls ja könntest du die Thumbnail schon beim Speichern generieren.

Re: Jammer-Thread

Verfasst: 14.08.2017, 17:12
von Krishty
Leider nicht, nein. Die neuen Formate (SketchUp, Autodesks Zeug) haben ja auch schon alle ein fertiges Thumbnail drin (wie Albi schrieb), das wäre also nicht das Problem.

Re: Jammer-Thread

Verfasst: 14.08.2017, 20:10
von Chromanoid
Starte doch einfach einen Daemon im Hintergrund der eine Weile läuft und nach ein paar Minuten ohne Anfrage sich selbst beendet. Das ist doch offensichtlich die einzige Lösung oder? Kommunikation über Socket oder andere IPC Möglichkeit.

Re: Jammer-Thread

Verfasst: 14.08.2017, 23:06
von DerAlbi
Was mich in dem Zusammenhang interessiert: es ist ja nicht D3D, was lahm ist, sondern der Treiber. Gibts bei D3D den Software-Emulation noch? Unter D3D9 gabs das... hat das auch solche komischen Init-dalay Effekte?
Meine 500ms-Agumentation lief darauf hinaus, dass du nur besser sein musst, als D3D.. mit quasi 501ms ;-) mir ist klar, dass 500ms technisch gesehen noch quatsch sind.. :-)
Aber ich verstehe das problem schon..

Re: Jammer-Thread

Verfasst: 15.08.2017, 08:03
von Schrompf
Alternative Überlegung: DX9 ist evtl. deswegen so langsam, weil sie einen Strauß Emulations-Shader für die Fixed Function Pipeline erstellen muss. Wenn das stimmt, würde ich um so kürzere Startzeiten erwarten, je moderner die 3D-API ist. Evtl. geht's mit D3D11 schon in 100ms :-)

Re: Jammer-Thread

Verfasst: 15.08.2017, 11:20
von Krishty
Nein; ich nutze D3D 11. Das Verhalten ist aber mit OpenGL, D3D 9, und D3D 11 bestätigt worden.

Über Twitter bin ich auf diesen Post gekommen:
https://hero.handmade.network/forums/code-discussion/t/2503-%5Bday_235%5D_opengls_pixel_format_takes_a_long_time#12632 hat geschrieben:I did a little debugging and disassembling of Nvidia OpenGL driver (user-space part of it) to look what it is doing.

[…]

On my desktop PC (i7-6700K, GTX 970, Windows 10 x64, Nvidia 384.94 driver) it gives me 0.668 seconds for Choose + Set pixel format functions.

[…]

After removing first two files, the test program from my gist now prints 0.456 seconds. That is 32% improvement. Pretty nice.

[…]

After replacing nvdrsdb.bin file my test program prints out 0.306 seconds which is ~54% - two times faster than initially. Even better!
Tja. Der Nvidia-Treiber ist schuld. 46 % der Initialisierungszeit von OpenGL/D3D verbringt er mit dem Parsen einer Liste von Custom Profiles für die Namen von Programmen. Die Liste ist 1.4 MiB groß, ist mit jedem Nvidia-Treiber-Update gewachsen, und wahrscheinlich suchen sie linear von vorn nach hinten.

Demnach dürfte das bei AMD nicht auftreten, oder zumindest weniger schlimm sein.

I don’t want to live on this planet any more

Nachtrag: Ich finde an der Stelle nur die erste Datei; nicht die anderen beiden. Habe sie gelöscht, aber spürbar geändert hat sich nichts. Messen kann ich nicht, weil ich heute morgen Visual Studio 2017 Update 3 installiert habe, und meine Programme jetzt durch die Bank langsamer geworden sind. WARUM FUNKTIONIERT NICHTS

Re: Jammer-Thread

Verfasst: 15.08.2017, 11:34
von Chromanoid
Krishty hat geschrieben:46 % der Initialisierungszeit von OpenGL/D3D verbringt er mit dem Parsen einer Liste von Custom Profiles für die Namen von Programmen. Die Liste ist 1.4 MiB groß, ist mit jedem Nvidia-Treiber-Update gewachsen, und wahrscheinlich suchen sie linear von vorn nach hinten.
WTF Wie viel Lebenszeit dafür wohl drauf geht. Jedem Gamer werden so täglich ein paar Sekunden geraubt... Vielleicht kannst Du Dein eigenes Programm bei der Installation ganz oben in die Liste eintragen? :D

Re: Jammer-Thread

Verfasst: 15.08.2017, 11:36
von Krishty
Piers Daniell‏, OpenGL Driver Engineer at Nvidia, https://twitter.com/piers_daniell/status/892424998249406464 hat geschrieben:Thanks for the detailed info. We're investigating the issue. We know the cause and trying to figure out a good solution.
Das wette ich dass ihr den Cause kennt. Wie läuft bei Nvidia eigentlich Testing/Debugging ab? Wenn 20 Leute jeden Tag 100 Mal den Treiber starten und dabei 0.5 Sekunden warten müssen, macht das am Tag 15 Minuten Zeitverschwendung …

Nachtrag: Oh, Chromanoid – zwei Genies, der selbe Geistesblitz.

Re: Jammer-Thread

Verfasst: 15.08.2017, 11:54
von Krishty
Krishty hat geschrieben:Ich finde an der Stelle nur die erste Datei; nicht die anderen beiden. Habe sie gelöscht, aber spürbar geändert hat sich nichts. Messen kann ich nicht, weil ich heute morgen Visual Studio 2017 Update 3 installiert habe, und meine Programme jetzt durch die Bank langsamer geworden sind. WARUM FUNKTIONIERT NICHTS
Ah, man muss den übernächsten Post drunter ebenfalls lesen – anderes Verzeichnis. Die Thumbnails sind nun tatsächlich spürbar schneller. Elf Sekunden, bis ein Bildschirm voll Dateien aufgebaut ist, sind aber noch immer zu lang.

Und das Leistungsproblem mit Update 3 von Visual Studio ist trotzdem zum Kotzen. Die ganze Telemetriescheiße usw. läuft jetzt auch wieder im Hintergrund, vielleicht liegt es daran. fick fack huckepack

Wenn ich irgendwas installiere, brauche ich grundsätzlich nochmal die doppelte Zeit, den ganzen Bloat rauszuschmeißen. Für Nvidia-Treiber habe ich schon eine Anleitung, was man wo löschen muss damit ihr Telemetriescheiß nicht übertragen wird, und da kommen die drei Dateien nun hinten dran. Für Visual Studio habe ich auch einen 5-Punkte-Plan, welche Dienste ich deaktivieren und welche Verzeichnisse ich löschen muss, bevor es benutzbar wird, und den gehe ich dann auch nachher durch. Es treibt mich in den Wahnsinn.

Re: Jammer-Thread

Verfasst: 15.08.2017, 12:35
von DerAlbi
Bau ein Script für das, was du machst, dann hat die Welt was davon, falls du es hergibst :-)

Re: Jammer-Thread

Verfasst: 15.08.2017, 12:38
von Krishty
DerAlbi hat geschrieben:Bau ein Script für das, was du machst, dann hat die Welt was davon, falls du es hergibst :-)
Ich weiß nicht, wie ich das zu einem Batch-Skript umschreiben soll: http://www.majorgeeks.com/news/story/nv ... le_it.html

… aber für das mit der Startverzögerung schreibe ich euch gern morgen eins.

Re: Jammer-Thread

Verfasst: 15.08.2017, 12:53
von Tiles
Also meines Wissens steckt die Telemetrie doch aber in Geforce Experience, und nicht im Treiber selber. Oder irre ich da? Und weil die da inzwischen eine Registrierung verlangen wenn du Geforce Experience benutzen willst hat sich das Ding eh erledigt.

Re: Jammer-Thread

Verfasst: 15.08.2017, 13:51
von DerAlbi
kann es sein, dass sowas in einem Installer evtl einfacher ist? Die haben bestimmt recht trivial abstrahiert Zugriff auf Dienste und so ein Zeugs... können Daten löschen und schreiben und so.. Ich habe leider davon auch keine Ahnung. Zur Zeit alles nur Kreationistendenken ^_^
und "Telemetrie" in den Treibern... soweit ich weiß sammeln die nur Informationen über die Hardware und die Spiele, die man startet. Ich glaube tatsächlich, dass hier Windows inhärent wesentlich krimineller handelt.

Re: Jammer-Thread

Verfasst: 15.08.2017, 21:19
von Krishty
Tiles hat geschrieben:Also meines Wissens steckt die Telemetrie doch aber in Geforce Experience, und nicht im Treiber selber. Oder irre ich da? Und weil die da inzwischen eine Registrierung verlangen wenn du Geforce Experience benutzen willst hat sich das Ding eh erledigt.
Ah, okay. Ich hatte Anfang des Jahres definitiv die Telemetrie drauf, obwohl ich Experience niemals mitinstallieren würde. Es kann also sein, dass sie in dem Paket steckte, das via Windows Update verteilt wurde. Im aktuellen Paket (letzten Monat von Nvidia gezogen, extrahiert, und via Task Manager installiert) ist nichts mehr davon zu finden.
DerAlbi hat geschrieben:und "Telemetrie" in den Treibern... soweit ich weiß sammeln die nur Informationen über die Hardware und die Spiele, die man startet. Ich glaube tatsächlich, dass hier Windows inhärent wesentlich krimineller handelt.
https://www.howtogeek.com/280101/relax-nvidias-telemetry-didnt-just-start-spying-on-you/ hat geschrieben:
  • Your GPU’s specification, vendor, clock speed, and overclock information.
  • Your monitor information and display resolution.
  • Driver settings for some specific games, such as whether you’ve disabled G-Sync or chosen a type of antialiasing for a game in the NVIDIA Control Panel.
  • The resolution and quality settings you’ve chosen for some specific games.
  • A list of games and applications installed, so NVIDIA can see how many people have Origin, Steam, Counter-Strike: GO, Overwatch, and other games installed.
  • How much RAM you have.
  • Information about your CPU, motherboard, and BIOS version.
List of Games and Applications Installed? Nee danke, da hört’s auf. Das ist genau die Art von Spyware, wegen der ich jedes Windows-Update einzeln aussuche. Zumal Nvidia im Gegensatz zu Microsoft alles unverschlüsselt durchs Netz schickt.
DerAlbi hat geschrieben:kann es sein, dass sowas in einem Installer evtl einfacher ist? Die haben bestimmt recht trivial abstrahiert Zugriff auf Dienste und so ein Zeugs... können Daten löschen und schreiben und so.. Ich habe leider davon auch keine Ahnung. Zur Zeit alles nur Kreationistendenken ^_^
Google mal – es gibt schon fertige Tools, die das Zeug deaktivieren. Leider in C#, also mit zwölf Tonnen Abhängigkeiten. Für mich lohnt es sich jedenfalls zeitlich nicht, da irgendwas zu schreiben.