Und das, wo ich gerade in monatelanger Kleinarbeit alle Kompilierzeiten unter 2 Sekunden gedrückt habe :(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
Anti-Jammer-Thread
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
Re: Anti-Jammer-Thread
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
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
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.
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.
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
- Schrompf
- Moderator
- Beiträge: 5045
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
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/
http://xkcd.com/1608/
Das Ganze mit Mausnavigation gab's schonmal früher: http://xkcd.com/1110/
Zuletzt geändert von Schrompf am 30.11.2015, 11:08, insgesamt 1-mal geändert.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
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.
"Time" war auch großartig. Also vom Zeitbudget und der Tiefe her deutlich größer als das.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
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")
Schön zu sehen, dass sich die Welt manchmal doch weiterdreht.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
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.
- Schrompf
- Moderator
- Beiträge: 5045
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
System Command is back online.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
-
- Moderator
- Beiträge: 2138
- Registriert: 25.02.2009, 13:37
Re: Anti-Jammer-Thread
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.
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.
- Schrompf
- Moderator
- Beiträge: 5045
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Schrompf
- Moderator
- Beiträge: 5045
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Ich werde Vater.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Anti-Jammer-Thread
Alles Gute!
Re: Anti-Jammer-Thread
Gratuliere! demnächst werden wir wohl kiddy-spiele von dir sehen :D
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Anti-Jammer-Thread
Glückwunsch as well! :DSchrompf hat geschrieben:Ich werde Vater.
Re: Anti-Jammer-Thread
Achso, ich vergaß ... bei mir natürlich dasselbe. Im März sei es so weit.Schrompf hat geschrieben:Ich werde Vater.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Anti-Jammer-Thread
http://www.di.unipi.it/~nids/docs/perve ... n_age.html Perversions, Cults and Fetishes of the Information Age
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
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();
Bei D3D 10 ist das Ganze schwerer (unmöglich?) geworden; ab D3D 11 wieder einfacher.
// 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)
- kein Alpha, weil GDI das nicht unterstützt
Bei D3D 10 ist das Ganze schwerer (unmöglich?) geworden; ab D3D 11 wieder einfacher.
Re: Anti-Jammer-Thread
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.
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.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Schrompf
- Moderator
- Beiträge: 5045
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
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.
Nur TortoiseSVN ist bei den Dateimassen etwas crashfreudig.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Anti-Jammer-Thread
Vielleicht als External einbinden, dann belastet es nicht so dein Hauptrepository?
- Schrompf
- Moderator
- Beiträge: 5045
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Top-OR
- Establishment
- Beiträge: 330
- Registriert: 02.03.2011, 16:32
- Echter Name: Jens H.
- Wohnort: Esslingen/Dessau
- Kontaktdaten:
Re: Anti-Jammer-Thread
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...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.
--
Verallgemeinerungen sind IMMER falsch.
Verallgemeinerungen sind IMMER falsch.
Re: Anti-Jammer-Thread
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.
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.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
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
-
- Establishment
- Beiträge: 488
- Registriert: 01.03.2009, 19:09
Re: Anti-Jammer-Thread
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
Mehr Kontrolle heißt halt leider auch dass man sehr viel mehr selber machen muss
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Anti-Jammer-Thread
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...
- Schrompf
- Moderator
- Beiträge: 5045
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.