Re: Jammer-Thread
Verfasst: 05.08.2012, 00:33
Ja, das ist tatsächlich Religion. Ich bin ständig am Eclipse bashen und benutze VS für C# und QtCreator für C++ (VS für C++ nur mit Visual Assist X).
Xcode ist in den letzen Jahren deutlich besser geworden.Chromanoid hat geschrieben:Irre wie sich da die Geister scheiden, ich würde XCode nicht mal mit der Kneifzange anfassen :)
Ich ziehe selbst VC++ Express um Längen genüber QTCreator vor, aber VAX befördert VS natürlich noch mal in eine neue Dimension.Artificial Mind hat geschrieben:Ja, das ist tatsächlich Religion. Ich bin ständig am Eclipse bashen und benutze VS für C# und QtCreator für C++ (VS für C++ nur mit Visual Assist X).
1. Wenn man mit Qt arbeiten muss, ist VC relativ undankbar (bzw. die Integration von Qt im QtCreator ist halt ungeschlagen)kaiserludi hat geschrieben:Ich ziehe selbst VC++ Express um Längen genüber QTCreator vor, aber VAX befördert VS natürlich noch mal in eine neue Dimension.Artificial Mind hat geschrieben:Ja, das ist tatsächlich Religion. Ich bin ständig am Eclipse bashen und benutze VS für C# und QtCreator für C++ (VS für C++ nur mit Visual Assist X).
Das würde ich mal checken lassen... ich quäle mein MacBook täglich mit CPU- und RAM-intensiver Klangbearbeitung und Sampling - und dass es mir wirklich abschmiert, passiert äußerst selten. Vielleicht einmal im halben Jahr. Und schon gar nicht mit "Regenbogenscreen".kaiserludi hat geschrieben:Ich habe seit Jahren keinen Blue Screen mehr gesehen, dafür verursacht OS X gerne mal Regenbogenscreens: Das ganze Screen ist ein plötzlich einziger riesiger Farbverlauf. Das mitten bei der Arbeit einfach mal der Screen einfriert, kommt auch häufiger vor. Spätestens seit Vista ist Windows meiner Erfahrung nach um Welten stabiler als OS X, wenn auch die aktuellen OS X (seit Leopard, ältere habe ich nie verwendet) immer noch weit stabiler sind als Windows 98.
Ah, du hast eine ewig alte Version vom QtCreator benutzt, richtig? Der war früher tatsächlich eine Katastrophe. Seit 2.x ist der mir noch nie richtig eingefroren (einzige Ausnahme: wenn man in GLSL Code den ternären ?-Operator benutzt friert das Programm zuverlässig ein. Das liegt aber eher am GLSL-Plugin und nicht an der IDE denke ich).kaiserludi hat geschrieben:4. Habe auch mal für ein Mobile Linux (Meego) entwickelt. Daher kenn ich den QTCreator. Ich habe diese IDE schnell zu hassen gelernt: Verbuggt und schneckenlahm. Projektsettings ändern: 30Sekunden Wartezeit nach jedem Klick, bevor die IDE wieder reagiert hat. Nun änder da mal 4 Setting pro Konfiguration bei 8 Konfugurationen pro Projekt und 6 Projekten. Schön wars auch immer, wenn der Projektsettingsidalog sich horizontal auf 3 fache Screenauflösung vergrößert hat und man ihn nicht mehr kleiner bekam: Lustiges hin und herschieben. Dazu sind QTCreator-Projektdateien inkompatibel zu sauberer Versionsvewaltung, weil Projekteinstellungen und Sachen wie Timestamps des letzten Öffnens des Projektes in der selben Datei gespeichert werden.
Also bei VIM öffnet sich das Eingabefeld zum Suchen immer ziemlich flott. Vielleicht solltest du umsteigen ;)Krishty hat geschrieben:Das scheiß Find & Replace-Fenster von Visual C++ 2010 ist saulahm. Ich klicke auf den Solution Explorer – sofort da. Ich klicke Strg+F – drei Sekunden Verzögerung, während sich das Fenster langsam aufbaut, das aus nichts besteht als aus einem Eingabefeld, einem Auswahlfeld, zwei Checkboxen und zwei Knöpfen. Mitunter ist Go to Definition schneller. WTF, Microsoft. WTF.
Meine Schlussfolgerung ist nun, dass CUDA Interop auch die Nachoptimierung von D3D11 Shadern beeinflusst, so dass am Ende vollkommener Müll dabei herauskommt. Workaround? Hab ich immer noch keinen.Alexandre Mutel hat geschrieben:Funny, discovering how drivers are delaying shader optim ~ if time(shader_non_opt) > time(delay_between_gpu_calls) then optimize_shader();
meaning that if a non optimized shader is taking 100ms and you call it every 200ms, It won't be optimized (optim shader is 6ms)
So It seems that shaders need to be warmup x times consecutively before actually using them in order for the driver to bother optimize them
It's on a GTX580, latest drivers. With compute shaders for bitonic sort, drivers compiles only after 4-6 sorts on 1M particles 1/2
If I put a CPU sleep of more than 100ms (with readback of results) between each sort, the shaders will never get optimized.
- https://twitter.com/xoofx
Mein Windows Update warnt mich auch immer davor. Ist ja nicht so, dass mein Rechner wichtig wäre. Aber was Microsoft von Produktivanwendern hält, sieht man ja an Windows 8.kaiserludi hat geschrieben:Wieso poppt eigentlich bei jedem zweiten Handyhersteller beim updaten eine Warnung auf, dass das Device unbrauchbar wird, wenn man es während dem Update vom Rechner trennt?
Haben die alle noch nie was davon gehört, dass es auch sowas wie Stromausfälle oder plötzliche Abstürze gibt?
Kann doch wohl nicht sein, dass man mit dem Gerät dann zum Hersteller muss, ums zu resetten.
Also so wie ich das gerade sehe: Sie haben eingesehen, dass der OpenGL-OpenCL-Interop anscheinend Schrott war, und sind jetzt in Richtung Direct3D marschiert. Bindless Textures sind ja nicht neu hinzugekommen, aber das wäre ein Grund, warum man sich über Direct3D ärgern kann. Eine Sache, die du dir aber einhandeln könntest, ist der Umstieg von Bugs, die bei allen GPUs auftauchen, zu Bugs, die GPU-spezifisch sind, eben weil es keine Bytecode-Stufe wie bei Direct3D gibt. Ansonsten sehe ich eher Extensions, die zu den vorhandenen \($n$\) Wegen, etwas anzustellen, nun einen \($(n + 1).$\) Weg hinzugesellen.CodingCat hat geschrieben:OpenGL 4.3 sieht jedenfalls recht vielversprechend aus. Angesichts der Tatsache, dass die DirectX-Umgebung derart verbuggt, das SDK praktisch tot und DX 11.1 obendrein schon wieder strikt plattformgebunden ist, wird ein Umstieg auf OpenGL in den nächsten 2 Jahren womöglich ohnehin unumgänglich, API hin oder her.
Dazu müssten die DirectX-Tools erstmal zuverlässig korrekten Bytecode liefern. Davon abgesehen sind eigentlich alle meine Bugs bereits jetzt nicht nur GPU-, sondern auch treiberversionsspezifisch, in dieser Beziehung ändert sich also womöglich gar nichts. Ich arbeite z.B. gerade mit der nV-Treiber-Generation 2XX, weil dort oben beschriebener Bug glücklicherweise noch nicht auftrat. Aber wie soll das gehen, wenn du tatsächlich für die Massen produzierst?eXile hat geschrieben:Also so wie ich das gerade sehe: Sie haben eingesehen, dass der OpenGL-OpenCL-Interop anscheinend Schrott war, und sind jetzt in Richtung Direct3D marschiert. Bindless Textures sind ja nicht neu hinzugekommen, aber das wäre ein Grund, warum man sich über Direct3D ärgern kann. Eine Sache, die du dir aber einhandeln könntest, ist der Umstieg von Bugs, die bei allen GPUs auftauchen, zu Bugs, die GPU-spezifisch sind, eben weil es keine Bytecode-Stufe wie bei Direct3D gibt. Ansonsten sehe ich eher Extensions, die zu den vorhandenen \($n$\) Wegen, etwas anzustellen, nun einen \($(n + 1).$\) Weg hinzugesellen.
Aber wann soll DirectX 12 kommen? Mit Windows 9? Und dann vermutlich Windows-9-only? Mit einem neuen, noch überladeneren und folgerichtig noch fehlerhafteren Shader-Compiler, der dann wieder erst in 5 Jahren, und womöglich nur durch einen noch instabileren, ersetzt wird? Außerdem ist Windows 7 gerade erst in der breiten Masse angekommen, was soll ich da mit einem Windows-8-only DX 11.1? Ich sehe da kaum eine Alternative zu einem Umstieg aufs neue OpenGL, sobald das einigermaßen zuverlässig läuft.eXile hat geschrieben:(Was ich gerade bemerke: Der Grund, warum keine bindless Textures in Direct3D 11.1 gekommen sind, könnte sein, dass mit Direct3D 12 anständige virtuelle Speicherverwaltung eingeführt wird, und damit fast alles bindless wird. Das ist aber nur meine Spekulation.)
Antwort: Wenn man tatsächlich für Massen von Konsumenten kommerziell produziert, hat man einen direkten Draht zu nVidia und kriegt eine priorisierte Bug-Behebung.CodingCat hat geschrieben:Aber wie soll das gehen, wenn du tatsächlich für die Massen produzierst?
Und was ist, wenn die Zeit, zu der OpenGL anständig läuft, genauso wenig kommt, wie die Zeit, zu der Direct3D anständig läuft? Beim HLSL-Compiler kann man wenigstens versuchen, Microsoft den Bug zu melden. Ansonsten muss man sich in beiden Fällen an die IHVs wenden, in beiden Fällen juckt es die einen feuchten Scheißdreck, wenn man als einzelne Person einen Bug meldet, in beiden Fällen muss man das Glück haben, dass irgendein kommerzieller Spielehersteller das gleiche Problem hatte und dein Problem so zufällig gefixt wird. Ich glaube nicht, dass die GLSL-Shadercompiler in den Treibern von besserer Qualität sind als der HLSL-zu-Bytecode-Compiler von Microsoft und die Bytecode-Compiler in den Treibern.CodingCat hat geschrieben:Aber wann soll DirectX 12 kommen? Mit Windows 9? Und dann vermutlich Windows-9-only? Mit einem neuen, noch überladeneren und folgerichtig noch fehlerhafteren Shader-Compiler, der dann wieder erst in 5 Jahren, und womöglich nur durch einen noch instabileren, ersetzt wird? Außerdem ist Windows 7 gerade erst in der breiten Masse angekommen, was soll ich da mit einem Windows-8-only DX 11.1? Ich sehe da kaum eine Alternative zu einem Umstieg aufs neue OpenGL, sobald das einigermaßen zuverlässig läuft.
Das ist mir durchaus klar, dennoch besteht mittlerweile ein entscheidender Unterschied: Auch Bugfixes für große Hersteller kommen bei DirectX 11 inzwischen einfach gar nicht mehr in der Öffentlichkeit an. Im Fall von OpenGL hingegen bekommst du immerhin noch aktuelle Treiber. Neue Treiber gibt es bald alle paar Wochen, ein neues DirectX voraussichtlich nur noch alle 5 Jahre. Bei DirectX 11 hilft es dir also nicht mal mehr, wenn andere das Problem bereits hatten.eXile hat geschrieben:Antwort: Wenn man tatsächlich für Massen von Konsumenten kommerziell produziert, hat man einen direkten Draht zu nVidia und kriegt eine priorisierte Bug-Behebung.
[...]
Ansonsten muss man sich in beiden Fällen an die IHVs wenden, in beiden Fällen juckt es die einen feuchten Scheißdreck, wenn man als einzelne Person einen Bug meldet, in beiden Fällen muss man das Glück haben, dass irgendein kommerzieller Spielehersteller das gleiche Problem hatte und dein Problem so zufällig gefixt wird. Ich glaube nicht, dass die GLSL-Shadercompiler in den Treibern von besserer Qualität sind als der HLSL-zu-Bytecode-Compiler von Microsoft und die Bytecode-Compiler in den Treibern.
Unterhalb von Windows 8 bekomme ich aktuelle Features mit DirectX aber eben nicht mal mehr, wenn sie da sind.eXile hat geschrieben:Das Problem, dass die GPU am Ende auch die OpenGL-Extensions überhaupt unterstützen muss, bzw. das jeweilige Direct3D-Feature-Level haben muss, kriegt man ja auch nicht einfach weg. Aber ich gebe dir recht: Wenn Microsoft in der Tat meint, WDDM 1.2 so langsam wie WDDM 1.0 einzuführen, könnte das ziemlich beschissen werden.
OH JA. Aktuell raubt mir cudaGraphicsMapResources aus unerfindlichen Gründen einfach so pauschal 500 ms, selbst wenn ich nichts tue.eXile hat geschrieben:Dass CUDA + Direct3D/OpenGL und OpenCL + OpenGL, also mögliche Interops, Probleme bereiten – ich glaube, dazu braucht man keine Kristallkugel. Ich bleibe dabei: Es ist alles Scheiße.
Habe ich mich nicht getraut, weil einige berichtet haben, dass sich damit nicht mal mehr einfachste Compute Shaders korrekt kompilieren lassen. Im Moment komme ich mit einigermaßen wenigen Workarounds aus.eXile hat geschrieben:Um auch etwas konstruktives beizutragen: Bei deinen früheren HLSL-Problemen – hilft es da, wenn du den HLSL-Compiler aus dem Windows SDK Release Preview (mit Versionsnummer 9.30.960.8400) nimmst?
Auf Andoid und iOS, auf Windows nicht. Auch wenn Windows Phone noch vernachlässigbaren Marktanteil hat, würde ich mich nicht drauf verlassen, dass das so bleibt. Ich erwarte mir ehrlich gesagt sogar, dass Windows in absehbarer Zeit mit Android gleichziehen wird...CodingCat hat geschrieben:Ich weiß, aber für Metro-Billigkram braucht man den ganzen Schlamassel sowieso nicht. Auf anderen mobilen Endgeräten dürfte ohnehin GL ES Standard sein?
Man kann GLES-Code problemlos gegen OpenGL linken und alles funktioniert.dot hat geschrieben:Auf Andoid und iOS, auf Windows nicht. Auch wenn Windows Phone noch vernachlässigbaren Marktanteil hat, würde ich mich nicht drauf verlassen, dass das so bleibt. Ich erwarte mir ehrlich gesagt sogar, dass Windows in absehbarer Zeit mit Android gleichziehen wird...CodingCat hat geschrieben:Ich weiß, aber für Metro-Billigkram braucht man den ganzen Schlamassel sowieso nicht. Auf anderen mobilen Endgeräten dürfte ohnehin GL ES Standard sein?
Valve sieht in Windows 8 sogar eine Bedrohung (wohl wegen dem Store), weshalb sie jetzt den Treiberstack von Linux etwas pushen und PR machen. Denen ist wohl eine offene Plattform als Endnutzersystem auch lieber. Windows war ja mal eine recht offene Plattform, bis sie angefangen haben, von Apple Ideen zu klauen.dot hat geschrieben:Ich könnte mir außerdem vorstellen, dass OpenGL langfristig unter Windows keine Option mehr sein wird. Mit Windows 8 ist es ja bereits auf Desktopanwendungen beschränkt...