Jammer-Thread
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Jammer-Thread
Hehehe, so etwas findet man in vielen Firmen. Ich kenne ähnliches in F77, F90, c und c++ ( alles in einem Projekt ).
Gruß Kimmi
Gruß Kimmi
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Ich bitte jeden, der GUIs schreibt, die nur mit dem Windows-Standardthema kompatibel sind („Schrift ist grundsätzlich immer schwarz“), mit einem Fernglas in die Sonne zu gucken
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Warum
Warum müssen IXAudio2Voice, IXAudio2SourceVoice, IXAudio2SubmixVoice und IXAudio2MasteringVoice unbedingt ihr eigenes Süppchen kochen und per DestroyVoice() freigegeben werden statt durch Release()
Klar
Sie sind keine COM-Objekte
Aber darum muss man direkt jedes Template, was ich auf sie anwenden könnte, kaputtmachen oder was
Außerdem
Ist die API an sich ja ganz nett
Aber wer keine #defines und Default Parameters mag
Der sollte ganz schnell ganz weit wegrennen
Echt, Stimmung wie 1944
Warum müssen IXAudio2Voice, IXAudio2SourceVoice, IXAudio2SubmixVoice und IXAudio2MasteringVoice unbedingt ihr eigenes Süppchen kochen und per DestroyVoice() freigegeben werden statt durch Release()
Klar
Sie sind keine COM-Objekte
Aber darum muss man direkt jedes Template, was ich auf sie anwenden könnte, kaputtmachen oder was
Außerdem
Ist die API an sich ja ganz nett
Aber wer keine #defines und Default Parameters mag
Der sollte ganz schnell ganz weit wegrennen
Echt, Stimmung wie 1944
- Sternmull
- Establishment
- Beiträge: 264
- Registriert: 27.04.2007, 00:30
- Echter Name: Til
- Wohnort: Dresden
Re: Jammer-Thread
Auch wenn es ein bisschen spät kommt (hab ne Weile gebraucht mich aufzuraffen und mein vergessens Passwort zurück zu setzen :) ): Unter VC gibt es in der Familie der printf-mäßigen Funktionen auch welche denen man das Locale explizit mitgibt. Siehe hier die Dinger die mit "_l" enden.
Damit kann man sich vom Locale des Threads (bzw. dem globalen) entkoppeln. Das globale ist übrigens nicht durch eine CS geschützt. Ändert man das globale Locale in einem Thread, und verwendet es in einem anderen, dann knallts (fürher oder später... aus eigener Erfahrung :) ).
Damit kann man sich vom Locale des Threads (bzw. dem globalen) entkoppeln. Das globale ist übrigens nicht durch eine CS geschützt. Ändert man das globale Locale in einem Thread, und verwendet es in einem anderen, dann knallts (fürher oder später... aus eigener Erfahrung :) ).
Re: Jammer-Thread
ich hasse den internet explorer. ich hasse ihn. ich denke mal 30% meiner projektzeit ist nur für diesen elenden klumpen code-müll (ich spreche von IE8+IE9) draufgegangen und es läuft jetzt trotzdem nicht. chrome und safari funktionieren problemlos, aber zur verteidigung des IE muss ich sagen, dass auch firefox und opera nicht mehr laufen. wieso das bei denen zwei so ist, weiss ich auch noch nicht. aber der elende IE legt natürlich noch ne schippe drauf. nicht nur dass er nicht läuft, um mein cross-domain problem zum laufen zu bringen gibt es ein sagenumwobenes !proprietäres! XDomainRequest object. Das gab mir aber nur ne lustige Exception zurück ohne auch nur den geringsten hinweis darauf was nicht ok ist. hab ich schon erwähnt dass ich IE hasse?
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Eine halbe Stunde gesucht:
enum foo { fi, fa, … fu, _number };
char * fooNames[] = { "LEER" };
// Löst nicht aus:
static_assert(_number == (sizeof(fooNames) / sizeof(fooNames[0])), "foo-Namen vergessen?");
enum foo { fi, fa, … fu, _number };
char * fooNames[] = { "LEER" };
// Löst nicht aus:
static_assert(_number == (sizeof(fooNames) / sizeof(fooNames[0])), "foo-Namen vergessen?");
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Gleich hinterher:
Und da wundere sich noch jemand, dass C++ als Hacker-Sprache verschrien ist...
Mit anderen Worten: Das implizite Interface / Output-Iterator-Konzept lässt unendlich mal mehr Arten der Benutzung zu, als tatsächlich erlaubt sind. Tatsächlich ist das gesamte Konzept ein einziger Witz, wie schon die STL-Implementierung des ostream_iterator ohne Umschweife offenbart:§24.2.4 Output Iterators hat geschrieben:A class or a built-in type X satisfies the requirements of an output iterator if X if X satisfies the Iterator requirements (24.2.2) and the expressions in Table 105 are valid and have the indicated semantics. [...]
The only valid use of an operator* is on the left side of the assignment statement. Assignment through the same value of the iterator happens only once. Algorithms on output iterators should never attempt to pass through the same iterator twice. They should be single pass algorithms. [...]
Code: Alles auswählen
template<class _Ty,
class _Elem = char,
class _Traits = char_traits<_Elem> >
class ostream_iterator
: public _Outit
{
public:
// [...]
ostream_iterator<_Ty, _Elem, _Traits>& operator=(const _Ty& _Val)
{ // insert value into output stream, followed by delimiter
*_Myostr << _Val;
if (_Mydelim != 0)
*_Myostr << _Mydelim;
return (*this);
}
ostream_iterator<_Ty, _Elem, _Traits>& operator*()
{ // pretend to return designated value
return (*this);
}
ostream_iterator<_Ty, _Elem, _Traits>& operator++()
{ // pretend to preincrement
return (*this);
}
ostream_iterator<_Ty, _Elem, _Traits> operator++(int)
{ // pretend to postincrement
return (*this);
}
// [...]
};
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
-
- Establishment
- Beiträge: 201
- Registriert: 07.07.2010, 13:00
- Kontaktdaten:
Re: Jammer-Thread
Ach, die einzig wahren Hackersprachen sind doch Perl und Haskell! :P
Asynchrone IO kann unter Linux sehr nervig sein. Zum einen gibt es keine Kernel-Implementation, alle verfügbaren Libs( nämlich 2 ) laufen im User-Space. Hat den Vorteil, dass kein Kernel-Thread crashen kann, allerdings ist die Performanz deswegen etwas in Mitleidenschaft gezogen worden. Libaio scheint beinahe vollständig zu sein, allerdings ist das Notification-Signal SIGEV_THREAD nicht implementiert. Da es sich dabei ja um AsyncIO handelt, kann man ja davon ausgehen, dass es einen eindeutigen POSIX-Standard gibt. Nix da, sind zwar Einträge vorhanden, aber die spezifizieren nicht das Verhalten von asynchronen IO Operationen. Letztendlich werde ich mir meine eigene AsyncIO-Lib bauen müssen. Argh...
Asynchrone IO kann unter Linux sehr nervig sein. Zum einen gibt es keine Kernel-Implementation, alle verfügbaren Libs( nämlich 2 ) laufen im User-Space. Hat den Vorteil, dass kein Kernel-Thread crashen kann, allerdings ist die Performanz deswegen etwas in Mitleidenschaft gezogen worden. Libaio scheint beinahe vollständig zu sein, allerdings ist das Notification-Signal SIGEV_THREAD nicht implementiert. Da es sich dabei ja um AsyncIO handelt, kann man ja davon ausgehen, dass es einen eindeutigen POSIX-Standard gibt. Nix da, sind zwar Einträge vorhanden, aber die spezifizieren nicht das Verhalten von asynchronen IO Operationen. Letztendlich werde ich mir meine eigene AsyncIO-Lib bauen müssen. Argh...
Imaging-Software und bald auch Middleware: http://fd-imaging.com
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Um nochmal auf das leidige Thema zurückzukommen: Ich habe nun mal eben meinen eigenen ultraleichten Character-Stream-Buffer (komplett allokationsfrei) geschrieben (charstream) - der Vergleich mit dem std::stringstream zeigt, wie unglaublich wenig die zusätzlichen String-Allokationen ausmachen. Sowohl charstream als auch std::stringstream werden für jede der 100000 Konvertierungen komplett neu erzeugt. Man beachte auch, dass lexical_cast (sogar mit dynamischen String-Allokationen) im speziell für Integers optimierten Fall beides um Längen schlägt.
Nachtrag: charstream-Code
Code: Alles auswählen
int_to_char: 2.156
itoa: 9.017
sprintf: 65.785
num_put: 94.382
lexical_cast: 41.359
charstream: 255.368
stringstream: 283.743
float_to_char: 142.234
_gcvt: 152.679
sprintf: 140.927
num_put: 173.554
lexical_cast: 409.426
charstream: 382.529
stringstream: 387.029
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Das geht jetzt etwas neben die Tüte, sry, aber – MÜCKEN
Gerade beim Laufen hatte ich sie im Mund, in der Nase, in den Ohren, und mit Sicherheit auch noch in Körperöffnungen, wo ich gerade nicht nachgucken kann
Und jetzt schwirrt so ein Mistvieh hier rum
Und pendelt immer schön zwischen dem Bildschirm und meinem Ohr
visuell - audiell - visuell - audiell
Und wenn ich den Raum lichte, finde ich sie nicht
Und ich weiß jetzt schon, dass sie mir die Nacht zur Hölle machen wird
Ich habe zwar im Schlaf sauschnelle Reflexe (wegen der Zombies), aber KEINEN BOCK, morgen früh schon wieder mein Blut vom Kissen zu rubbeln
Gerade beim Laufen hatte ich sie im Mund, in der Nase, in den Ohren, und mit Sicherheit auch noch in Körperöffnungen, wo ich gerade nicht nachgucken kann
Und jetzt schwirrt so ein Mistvieh hier rum
Und pendelt immer schön zwischen dem Bildschirm und meinem Ohr
visuell - audiell - visuell - audiell
Und wenn ich den Raum lichte, finde ich sie nicht
Und ich weiß jetzt schon, dass sie mir die Nacht zur Hölle machen wird
Ich habe zwar im Schlaf sauschnelle Reflexe (wegen der Zombies), aber KEINEN BOCK, morgen früh schon wieder mein Blut vom Kissen zu rubbeln
-
- Establishment
- Beiträge: 201
- Registriert: 07.07.2010, 13:00
- Kontaktdaten:
Re: Jammer-Thread
Mücken sind die schlimmsten Lebewesen, die es gibt, sogar noch vor den Spinnen. Als Kind bin ich mal mit einem Baseball-Schläger auf einen Mückenschwarm losgegangen. Vielleicht sollte ich das mal wiederholen...
Imaging-Software und bald auch Middleware: http://fd-imaging.com
- Top-OR
- Establishment
- Beiträge: 330
- Registriert: 02.03.2011, 16:32
- Echter Name: Jens H.
- Wohnort: Esslingen/Dessau
- Kontaktdaten:
Re: Jammer-Thread
Oh, geil, das ist wirklich schön off topic - aber ein wichtiges Thema!! Mein Beileid:
Ich könnte ausflippen, wenn ich z.B. kurz vorm Einschlafen bin und DANN dieses penetrante Mückensummen höre. Das ist mit das ekelhafteste Geräusch, was ich kenne. Das wars dann immer mit dem Schlaf: Ich bin da schon in der Bude rumgeturnt, das geht garnicht. Gegen diese bekackten Drecksviecher sollte es ENDLICH MAL GESETZE geben! - Und gegen die Mücken auch - haha ...
Ich könnte ausflippen, wenn ich z.B. kurz vorm Einschlafen bin und DANN dieses penetrante Mückensummen höre. Das ist mit das ekelhafteste Geräusch, was ich kenne. Das wars dann immer mit dem Schlaf: Ich bin da schon in der Bude rumgeturnt, das geht garnicht. Gegen diese bekackten Drecksviecher sollte es ENDLICH MAL GESETZE geben! - Und gegen die Mücken auch - haha ...
--
Verallgemeinerungen sind IMMER falsch.
Verallgemeinerungen sind IMMER falsch.
-
- Establishment
- Beiträge: 201
- Registriert: 07.07.2010, 13:00
- Kontaktdaten:
Re: Jammer-Thread
Ja, Mücken sind schlimm. Ich baue mir wohl jetzt USB-Raketenwerfer, um diese Dinger zu bekämpfen.
Imaging-Software und bald auch Middleware: http://fd-imaging.com
Re: Jammer-Thread
Wenigstens habt ihr nicht Ameisen und Käfer über eure Bildschirme krabbeln...
Das Problem hatte ich nämlich in Cairns immer. -.-
Das Problem hatte ich nämlich in Cairns immer. -.-
Re: Jammer-Thread
Und wenn du demnächst mit Schutzmaske + Brille läufst werden dich alle für einen Hypochonder halten oder einen der panische Angst vor Fallout hat.Krishty hat geschrieben: Gerade beim Laufen hatte ich sie im Mund, in der Nase, in den Ohren
Aber sie doch das positive daran. Wenigstens bist du nicht blutleer ;).
- Top-OR
- Establishment
- Beiträge: 330
- Registriert: 02.03.2011, 16:32
- Echter Name: Jens H.
- Wohnort: Esslingen/Dessau
- Kontaktdaten:
Re: Jammer-Thread
Ist das die hornoxe.com-Ameise? Ich mag die ...
--
Verallgemeinerungen sind IMMER falsch.
Verallgemeinerungen sind IMMER falsch.
Re: Jammer-Thread
Ich bin auf das Bild hereingefallen ... Bin gemütlich am Kuchen essen und versuche das Mistviech vom Monitor zu jagen -.-
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Wie wenig Leute auf Bildqualität achten sieht man daran, dass der Grafiktreiber dauernd Mist baut, wenn Antialiasing aktiviert ist
Re: Jammer-Thread
Ganz ehrlich sah bei mir eher so der Bildschirm aus, als der VRAM kurz vorm Abrauchen war.
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Überall sonst habe ich aber keine Beschwerden. Ist wirklich nur der Windows-Desktop, wenn ein Fenster minimiert wurde und Antialiasing aktiv ist. Ich habe auch mal schnell 900 MiB VRAM allokiert und durch FFTs gejagt (bei denen sich ja jeder Speicherfehler gnadenlos hochdirigieren würde) und nicht die Spur eines Bildfehlers gesehen. Achja doch: In Live for Speed sehe ich keine Alpha-Polygone mehr, wenn Transparenz-AA an ist. Shitty driver is shitty.
-
- Establishment
- Beiträge: 130
- Registriert: 01.03.2009, 14:21
- Alter Benutzername: frittentuete
Re: Jammer-Thread
Jepp kann ich bestätigen ...
Ist "normal" bei ATI mit AntiAliasing an. Hatte auch schon alle möglichen Bildfehler im VS 2010 und Java-Programme sind schwarz, solange man nicht das Fenster neuzeichnen lässt. :x
Ohne AA an gibts dann keine Probleme.
Ist "normal" bei ATI mit AntiAliasing an. Hatte auch schon alle möglichen Bildfehler im VS 2010 und Java-Programme sind schwarz, solange man nicht das Fenster neuzeichnen lässt. :x
Ohne AA an gibts dann keine Probleme.
Re: Jammer-Thread
die same-origin-policy treibt mich noch in den wahnsinn. jeder besch... browser löst das problem anscheinend anders, oder ich versteh einfach nicht was ich mache. habe die letzten 2 wochen nichts anderes gemacht als mich mit dem ***** zu befassen und workarounds zu implementieren. habe zig sachen umgestellt, die zwar in einigen fällen jetzt besserung gebracht haben, aber eben nicht in allen. daten speichern kann ich aktuell nur in chrome. theoretisch müsste es aber überall gehen nur hab ich keinen blassen schimmer wie. hab mir schon überlegt das problem einfach mal liegen zu lassen und ein halbes jahr zu warten, in der hoffnung die browser hätten sich bei diesem problem geeinigt...
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Top-OR
- Establishment
- Beiträge: 330
- Registriert: 02.03.2011, 16:32
- Echter Name: Jens H.
- Wohnort: Esslingen/Dessau
- Kontaktdaten:
Re: Jammer-Thread
Ich lerne es aber auch nicht:
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
golem.de Forum
Ich bekomme da Blutdruck!
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
golem.de Forum
Ich bekomme da Blutdruck!
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
Ich soll nicht bei golem.de posten.
--
Verallgemeinerungen sind IMMER falsch.
Verallgemeinerungen sind IMMER falsch.
Re: Jammer-Thread
Stopped reading at "unsigned double".
- Brainsmith
- Establishment
- Beiträge: 109
- Registriert: 04.09.2009, 13:52
- Echter Name: Fabbo
Re: Jammer-Thread
classic troll is classic..
Unsigned double ist der kassischste Troll, den ich seit langem gesehen hab.. =D
Unsigned double ist der kassischste Troll, den ich seit langem gesehen hab.. =D
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Ich habe hier ein paar tausend Strings, im Schnitt eine einstellige Zahl Buchstaben lang. Und ich brauche keine abschließende Null. Wie hoch ist die Platzauslastung durch den Compiler? Ideen? Unter 60 %.
Zuerst einmal hasse ich, dass es keine Möglichkeit gibt, auf die abschließende Null zu verzichten. Natürlich könnte ich Buchstaben um Buchstaben in einer Liste hinschreiben statt eines String-Literals, aber das ist doch scheiße. Kommen auf tausend Strings schonmal tausend unnötige Nullen.
Weiterhin sorgt Visual C++ dafür, dass die Strings an vier Bytes ausgerichtet sind. Das sind wiederum durchschnittlich andernhalb verschwendete Bytes.
Und zu guter Letzt ist Visual C++’ String Pooling einfach nur scheiße. Es fasst zwar identische Strings zusammen ("bar" und "bar"), aber mehr auch nicht. "bar" und "foobar" werden in der Exe nicht überlappend abgelegt. (Ob der Optimizer schlicht zu blöd ist oder zu verbissen an der Ausrichtung jeder String-Adresse hängt, weiß ich nicht.)
Jetzt habe ich mir einen Code Generator geschrieben, der mir das Pooling übernimmt und eine .cpp mit der Deklaration des Pools und den Verweisen auf die einzelnen Strings ausspuckt. Die Größe meines read-only-Datenbereichs hat sich fast halbiert. Ist doch kacke, wenn ich in Zukunft jede Optimierung selber implementieren muss.
Zuerst einmal hasse ich, dass es keine Möglichkeit gibt, auf die abschließende Null zu verzichten. Natürlich könnte ich Buchstaben um Buchstaben in einer Liste hinschreiben statt eines String-Literals, aber das ist doch scheiße. Kommen auf tausend Strings schonmal tausend unnötige Nullen.
Weiterhin sorgt Visual C++ dafür, dass die Strings an vier Bytes ausgerichtet sind. Das sind wiederum durchschnittlich andernhalb verschwendete Bytes.
Und zu guter Letzt ist Visual C++’ String Pooling einfach nur scheiße. Es fasst zwar identische Strings zusammen ("bar" und "bar"), aber mehr auch nicht. "bar" und "foobar" werden in der Exe nicht überlappend abgelegt. (Ob der Optimizer schlicht zu blöd ist oder zu verbissen an der Ausrichtung jeder String-Adresse hängt, weiß ich nicht.)
Jetzt habe ich mir einen Code Generator geschrieben, der mir das Pooling übernimmt und eine .cpp mit der Deklaration des Pools und den Verweisen auf die einzelnen Strings ausspuckt. Die Größe meines read-only-Datenbereichs hat sich fast halbiert. Ist doch kacke, wenn ich in Zukunft jede Optimierung selber implementieren muss.
- Chromanoid
- Moderator
- Beiträge: 4272
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Jammer-Thread
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Blaaargh, ich glaub mich verreißts! Ein neues Chrome-Logo, mindestens genauso hässlich wie das neue Internet-Explorer-Logo. Ist das ein neuer Virus, eine Epidemie, womöglich die gezielte Degeneration der menschlichen Spezies?!
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Krishty
- Establishment
- Beiträge: 8305
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
X.cpp(122): warning C4373: 'XXX::Process': virtual function overrides 'IXAPO::Process', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
Immer wieder schön, wenn mich der Compiler davor warnt, dass er standardkonform handeln wird
Immer wieder schön, wenn mich der Compiler davor warnt, dass er standardkonform handeln wird