Seite 46 von 69

Re: Anti-Jammer-Thread

Verfasst: 19.11.2015, 20:49
von Krishty
CodingCat hat geschrieben:Wat: Visual C++ 2015 Update 1 implementiert C++ Modules Preview https://channel9.msdn.com/Events/Visual ... t-2015/806 Sieht aus als nähme MS langsam Fahrt auf
Und das, wo ich gerade in monatelanger Kleinarbeit alle Kompilierzeiten unter 2 Sekunden gedrückt habe :(

Re: Anti-Jammer-Thread

Verfasst: 20.11.2015, 12:38
von Jonathan
Oh wow. Die geben sich ja echt ernsthaft Mühe. Ich meine, experimentelle Features wie Module, kein Komplettes ignorieren von Konkurrenzprodukten wie Clang - es klingt fast so als hätten die sich überlegt, was Kunden wollen und würden jetzt genau das machen. Da kann man ja überhaupt gar nicht mehr meckern, ist ja total verrückt :D

Re: Anti-Jammer-Thread

Verfasst: 20.11.2015, 13:02
von Krishty
Falls das klappt – und das FALLS ist betont weil MS mit Visual Studio in letzter Zeit nicht nur vieles richtig gemacht, sondern auch richtig verkackt hat – wäre das ein wunderschönes Beispiel dafür, dass man die ganzen „fubar“ Sachen durchaus reparieren kann, wenn nur genügend Leute an einem Strang ziehen.

Vor zehn Jahren haben alle gesagt, dass dieser Include-Irrsinn C++’ Tod sein wird und man da nie was ändern kann, und jetzt … na hoffen wir mal.

Re: Anti-Jammer-Thread

Verfasst: 29.11.2015, 23:56
von Chromanoid
Zwei tolle Bilder, die gerade bei Reddit *schauder* gehyped werden:


Reynisfjara black pebble beach, Søren

All the Mars Rovers together. Scientists for scale.

Re: Anti-Jammer-Thread

Verfasst: 30.11.2015, 08:40
von Schrompf
Randall hat's mal wieder geschafft. Ein harmloses kleines Spiel, beschissenes Movement, aber egal. Mit einem bisschen Glitchen kann man das Spielfeld verlassen und entdeckt rundherum hundertausende Pixel weiterer Landschaft mit x skurrilen Szenen in bester XKCD-Manier. Hat mich eine Stunde gekostet, dieses Ding. Irgendwie trifft der Typ einen Nerv bei mir.

http://xkcd.com/1608/

Das Ganze mit Mausnavigation gab's schonmal früher: http://xkcd.com/1110/

Re: Anti-Jammer-Thread

Verfasst: 30.11.2015, 10:05
von Krishty
Ja … ich wollte produktiv sein, nur kurz gucken ob XKCD was Neues ha…fuck.

"Time" war auch großartig. Also vom Zeitbudget und der Tiefe her deutlich größer als das.

Re: Anti-Jammer-Thread

Verfasst: 04.12.2015, 00:58
von Krishty

Code: Alles auswählen

// Visual C++ does not support the 'u8' encoding for UTF-8, and probably never will, so kill it.
#define UTF8(LITERAL) static_assert(false, "Visual C++ does not support UTF-8 literals")
2012 geschrieben. Jetzt überflüssig.

Schön zu sehen, dass sich die Welt manchmal doch weiterdreht.

Re: Anti-Jammer-Thread

Verfasst: 15.12.2015, 19:45
von Krishty
Module in Visual C++ 2015 funktionieren. Leider so eingeschränkt, dass man sie nicht praktisch einsetzen kann.
  • Der nötige Befehl /experimental:module lässt sich auch ohne weiteres durch die Projekteinstellungen übergeben; das ist kein Hindernis.
  • Die benötigte .ixx-Dateierweiterung wird nicht als C++-Quelltext erkannt. Man kann das in den Projekteinstellungen forcieren. Allerdings hat man weder Syntax Highlighting noch IntelliSense. Programmieren wie 1988!
  • IntelliSense versteht kein import. Damit sehen die .cpp-Dateien, die Module bloß einbinden, aus wie ein voller Tampon.
  • Man muss alle Dateien von Hand in der richtigen Reihenfolge kompilieren. Die IDE sorgt NICHT für die richtige Reihenfolge. Und hier springen dann auch hartgesottene Ledermaskenmasochisten wie ich ab.
Weil das aber immer noch mehr ist, als die Ankündigung versprochen hat, ist das als Anti-Jammern zu sehen. Sie scheinen wirklich sehr nah dran zu sein, es als fertiges Visual-C++-Feature ausliefern zu können. Ich freue mich irre drauf (nie mehr was doppelt schreiben; hunderte Header löschen!).

Re: Anti-Jammer-Thread

Verfasst: 16.12.2015, 22:21
von Schrompf
System Command is back online.

Re: Anti-Jammer-Thread

Verfasst: 21.12.2015, 10:40
von Alexander Kornrumpf
Um dem: http://zfx.info/viewtopic.php?f=9&t=307&p=49680#p49679 und dem http://zfx.info/viewtopic.php?f=9&t=307&p=49680#p49680 noch was entgegenzusetzen:

Steam Inhouse Streaming funktioniert über Ethernet einwandfrei as tested with "Divinity: Original Sin - Enhanced Edition". Es tritt dabei allerdings ein Bug im Spiel auf. Ich habe dann mal an Larian geschrieben um denen Bescheid zu sagen, da gingen jetzt drei Mails hin und her, u. a. eine um 00:30 Uhr.

Ich meine mir ist klar, dass das ein Freelancer sein muss der von Zuhause aus wann immer er will Supportanfragen beantwortet und nicht jemand der nach Stunden bezahlt wird. Aber so oder so, ein wahnsinniges Service-Level. Sie haben damit einen Fan gewonnen.

Re: Anti-Jammer-Thread

Verfasst: 21.12.2015, 20:14
von Schrompf
Hatte heute mal Unity ausprobiert, um ein WebCam-Filter-Experiment zu starten. Und nach ner halben Stunde fiesem Tricken mit ner orthogonalen Kamera und einer simplen Plane läuft der Laden. Wow. Ich bin beeindruckt. Kein Vergleich mit den Microsoft-vorgeschlagenen Beispielen, die ein ganz krudes Mischding aus WinRT und C++.Net vorschlagen und Zertifizierung hier, Manifest da erfordern.

Re: Anti-Jammer-Thread

Verfasst: 02.01.2016, 21:52
von Schrompf
Ich werde Vater.

Re: Anti-Jammer-Thread

Verfasst: 02.01.2016, 23:30
von Krishty
Glückwunsch!

Re: Anti-Jammer-Thread

Verfasst: 02.01.2016, 23:54
von Chromanoid
Alles Gute!

Re: Anti-Jammer-Thread

Verfasst: 03.01.2016, 03:19
von marcgfx
Gratuliere! demnächst werden wir wohl kiddy-spiele von dir sehen :D

Re: Anti-Jammer-Thread

Verfasst: 05.01.2016, 12:00
von RedGuy
Glückwunsch :) !!

Re: Anti-Jammer-Thread

Verfasst: 05.01.2016, 13:56
von dot
Schrompf hat geschrieben:Ich werde Vater.
Glückwunsch as well! :D

Re: Anti-Jammer-Thread

Verfasst: 08.01.2016, 17:12
von antisteo
Schrompf hat geschrieben:Ich werde Vater.
Achso, ich vergaß ... bei mir natürlich dasselbe. Im März sei es so weit.

Re: Anti-Jammer-Thread

Verfasst: 10.01.2016, 12:37
von Chromanoid
http://www.di.unipi.it/~nids/docs/perve ... n_age.html Perversions, Cults and Fetishes of the Information Age

Re: Anti-Jammer-Thread

Verfasst: 23.01.2016, 15:30
von Krishty
Direct3D 9 mit GDI zu verwurschteln ist erstaunlich einfach. Tatsächlich ist es so einfach, dass ich mich wundere, dass es überhaupt so etwas wie Font-Bibliotheken gibt:

  // Textur erzeugen:
  IDirect3DTexture9 * gdiTex;
  device->CreateTexture(width, height, 0, D3DUSAGE_AUTOGENMIPMAP, D3DFMT_X8R8G8B8, D3DPOOL_MANAGED, &gdiTex, NULL);

  // Nur einzelne Surfaces können berarbeitet werden, also in die detaillierteste Mip-Stufe schreiben:
  // (MSDN warnt, alle anderen Mip-Stufen seien langsam)
  IDirect3DSurface9 * mostDetailedMip;
  gdiTex->GetSurfaceLevel(0, &mostDetailedMip);

  // Let GDI begin:
  HDC dc;
  mostDetailedMip->GetDC(&dc);
  TextOut(dc, any_font, x, y, L"ÄÖÜß語بیرفارچەا"); // you get the idea

  // Aufräumen:
  mostDetailedMip->ReleaseDC(dc);
  mostDetailedMip->Release();

  • voller Unicode-Support
  • alle Schriftarten
  • Antialiasing, TrueType, Rotation, wasauchimmer
  • Hardware-beschleunigte Textur
  • mit automatischen Mip Maps
  • automatische Wiederherstellung nach Lost Device
  • bisher keine Performance-Probleme, so lange man’s nicht anal macht (GDI direkt in den Back Buffer stecken)
Einziger Haken:
  • kein Alpha, weil GDI das nicht unterstützt
Theoretisch könnte man sogar Fenster in das DC füttern (WM_PRINTCLIENT!) und dann in einer 3D-Umgebung anzeigen. Wer das macht, soll mal Screenshots zeigen!

Bei D3D 10 ist das Ganze schwerer (unmöglich?) geworden; ab D3D 11 wieder einfacher.

Re: Anti-Jammer-Thread

Verfasst: 13.02.2016, 17:16
von Jonathan
Threads sind doch was feines. Ich habe zwar noch kaum Erfahrung damit, aber so langsam steige ich ein. Und es ist einfach ein tolles Gefühl, wenn eine rechenintensive GUI-Anwendung, die bis jetzt immer gestottert hat wie sonst was auf einmal butterweich läuft. Und wenn man die Thread-Kommunikation endlich so hinbekommen hat, das es keine Deadlocks gibt und sich sogar das Interface der rechnenden Klasse nicht geändert hat :)

Schön daran ist auch, dass es nicht einfach nur eine neue Bibliothek ist, deren Schnittstelle man lernen muss, sondern tatsächlich eine etwas andere Art zu denken. Das ist fast wie damals, als man angefangen hat zu programmieren und die einzelnen Elemente schon kannte, aber noch rätseln musste, wie man sie jetzt so zusammen bauen kann, dass man sein Ziel erreicht.

Re: Anti-Jammer-Thread

Verfasst: 18.02.2016, 20:50
von Schrompf
Nach dem xten Mal, dass ich jetzt hätte Boost neubauen müssen, damit ich wieder dagegen linken kann, hab ich jetzt Boost einfach in meine Solution aufgenommen und baue die mit. Und siehe da: es klappt auf Anhieb. Wird wahrscheinlich noch Keule geben, wenn ich damit auf Linux oder OSX umziehen will, aber für den Moment bin ich hochzufrieden.

Nur TortoiseSVN ist bei den Dateimassen etwas crashfreudig.

Re: Anti-Jammer-Thread

Verfasst: 19.02.2016, 08:39
von Chromanoid
Vielleicht als External einbinden, dann belastet es nicht so dein Hauptrepository?

Re: Anti-Jammer-Thread

Verfasst: 19.02.2016, 11:02
von Schrompf
Ist schon so organisiert. War bisher auch kein Problem, aber seit gestern meint TortoiseSVN, die Dateilisten nicht mehr rendern zu müssen. Man kann dann wie bei einem Rubbellos die Einträge mit der Maus sichtbar machen.

Re: Anti-Jammer-Thread

Verfasst: 19.02.2016, 18:37
von Top-OR
Schrompf hat geschrieben:... War bisher auch kein Problem, aber seit gestern meint TortoiseSVN, die Dateilisten nicht mehr rendern zu müssen. Man kann dann wie bei einem Rubbellos die Einträge mit der Maus sichtbar machen.
Hähä .. sehr gute Beschreibung des Effekts. YMMD! Manchmal Allerdings kenne ichs von TortoiseGIT, seinem bösen/guten (?) Zwillingsbruder. Ich steige bis heute nicht durch, warum das manchmal so ist. Manchmal gibts gar keine Probleme und manchmal denkt man, die Festplatte fällt gleich raus (weil er aus dem "herumgeIOe" nicht mehr herauskommt). Am nächsten Tag ist dann aber alles wieder smooth...

Re: Anti-Jammer-Thread

Verfasst: 29.02.2016, 00:26
von TDK
Ich habe endlich die ganze Core-API für den Direct3D 12 Renderer fertiggestellt.
Frei von Abstürzen, Multi-Monitor-Support, konfigurierbar, flott und elegant umgesetzt.
Das funktioniert sogar einwandfrei in Zusammenarbeit mit mobile GPUs und GPU-fremden Monitoren.

Fühlt sich gut an, so ein Biest von Microsoft mit seinen Fences und Barriers unter Kontrolle zu haben.
Irgendwann wird es mich vielleicht noch kitzeln mal Cross-GPU auszuprobieren... NVIDIA mit Intel und so.

Re: Anti-Jammer-Thread

Verfasst: 29.02.2016, 00:33
von Krishty
Hm. Nach dem, was ich bisher so sehe, braucht man für D3D 12 noch mehr Quelltext, bis was auf dem Bildschirm ist, als bei 11. Und das war ja um den Faktor zwei oder drei aufwändiger, als mit 9 zu rendern. Ich habe mich ganz allgemein immer schlecht gefühlt, wenn ich den Quelltext für ein Bisschen Leistung verdoppelt habe; aber jetzt scheint das ja Zeitgeist zu sein :D

Re: Anti-Jammer-Thread

Verfasst: 29.02.2016, 13:59
von Matthias Gubisch
Im Fall von D3D12 und auch Vulkan liegt das mit dem "noch mehr Quelltext" daran dass die API und der Treiber im Hintergrund dafür weniger Quelltext verwenden ;)
Mehr Kontrolle heißt halt leider auch dass man sehr viel mehr selber machen muss

Re: Anti-Jammer-Thread

Verfasst: 29.02.2016, 14:21
von dot
Ich war gerade unlängst etwas am Basteln mit D3D12 und mein momentaner Eindruck ist weniger dass man soviel mehr Code schreiben muss, sondern eher, dass man seine Software einfach völlig anders Designen muss (sobald multithreaded rendering im Spiel ist, werden manche Dinge, die man bisher eigentlich als völlig trivial angesehen hat, plötzlich zu Monstern). Es stimmt schon, dass ein paar Schritte mehr notwendig sind, um gewisse Dinge zu tun, aber das ist imo nicht so schlimm, im Gegenteil, ich finde die neue Herangehensweise wesentlich besser als die Alte...

Re: Anti-Jammer-Thread

Verfasst: 29.02.2016, 15:43
von Schrompf
Es fibert! Boost.Context erwartet halt wirklich den Speicherbereich für den Stack systemspezifisch. Und bei Windows bzw. bei allen, die ich kenne, wächst der Stack halt in negative Adress-Richtung. Also muss man dem boost::context::make_fcontext() die Adresse vom Ende des Speicherblocks geben.