Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Jammer-Thread

Beitrag von antisteo »

Meine Windows-VM startet sich aus irgendwelchen mystischen Gründen regelmäßig alle paar Tage neu. Und das ohne zu fragen, ob ich speichern will. Außerdem dauert das Hoch- und Runterfahren ewig wegen so komischen Updates. Das ist gruselig.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

antisteo hat geschrieben:Meine Windows-VM startet sich aus irgendwelchen mystischen Gründen regelmäßig alle paar Tage neu. Und das ohne zu fragen, ob ich speichern will. Außerdem dauert das Hoch- und Runterfahren ewig wegen so komischen Updates. Das ist gruselig.
Und du bist sicher, dass das nicht einfach nur Windows Update ist, was einen Neustart erzwingt?
Also quasi sowas: http://answers.microsoft.com/en-us/wind ... e427756ccc
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Jammer-Thread

Beitrag von antisteo »

Artificial Mind hat geschrieben:
antisteo hat geschrieben:Meine Windows-VM startet sich aus irgendwelchen mystischen Gründen regelmäßig alle paar Tage neu. Und das ohne zu fragen, ob ich speichern will. Außerdem dauert das Hoch- und Runterfahren ewig wegen so komischen Updates. Das ist gruselig.
Und du bist sicher, dass das nicht einfach nur Windows Update ist, was einen Neustart erzwingt?
Also quasi sowas: http://answers.microsoft.com/en-us/wind ... e427756ccc
Mir ist Wurscht, ob das am Update, an der Zeitumstellung oder am Feiertag liegt - der Rechner soll nicht neu starten, wenn ich ihn gerade benutze!
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich habe nie verstanden, warum C nicht das Definieren einer Funktion auf Basis eines typedefs bietet. A la

  typedef LRESULT (WINAPI WndProc)(HWND hWnd, ULONG msg, WPARAM wParam, LPARAM lParam);

  WndProc myWndProc {
    return DefWndProc(hWnd, msg, wParam, lParam);
  }

  registerCallback(…, &myWndProc, …);


Irgendwo ändert man einen Parameter von ULONG auf DWORD und schon hören 100 Callbacks auf zu funktionieren und ich muss 100 identische Deklarationen austauschen. IGITT IGITT IGITT

Ich benutze zwar #defines für die Köpfe meiner Callbacks, aber dann sind es immernoch mindestens zwei Stellen. Bah!
Zuletzt geändert von Krishty am 04.06.2014, 15:38, insgesamt 1-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Gibt doch eh #define :mrgreen:
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ups; da war ich mit dem Nachtragen zu langsam :P
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4864
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Ich verachte PHP. Es vereint die kleinkarierte Mühsamkeit von C++ mit all den Laufzeitunsicherheiten einer dynamisch typisierten Sprache, und läuft dazu auch noch auf einem fernen Rechner, womit man wieder im Keller der Softwareentwicklung mit printf-Debugging anfangen darf.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Drei S-Ata Geräte zum Einbauen zu haben und nur 2 S-Ata Kabel mitgeliefert zu bekommen ist übrigens fies!
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
waigie
Beiträge: 82
Registriert: 20.05.2009, 19:37

Re: Jammer-Thread

Beitrag von waigie »

Schrompf hat geschrieben:[...] womit man wieder im Keller der Softwareentwicklung mit printf-Debugging anfangen darf.
Wenn xdebug installiert ist und die du Zugriff auf die php.ini hast, kannst du die Vorteile eines Debuggers nutzen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Können wir uns jetzt bitte darauf einigen, dass Blogs auf die alten Beiträge nach RECHTS verweisen?

Danke
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich habe es verpasst, meinen 2^12ten Beitrag mit beißendem Zynismus, ironischen Wendungen, nostalgischen Rückbezügen, GIFs, Schachtelsätzen, und Auslassungspunkten auszuschmücken.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4864
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Und speziell der Mangel an GIFs ist betrüblich.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ja; die liegen dummerweise auf meiner /b/-Festplatte am anderen System. Meine Familie gestattet mir auch nicht mehr, die vor Einbruch der Dunkelheit anzuschließen.

Besagte Platte ist übrigens ein WD MyBook, und ich habe – um beim Jammern zu bleiben – gerade festgestellt, dass die Hardware-verschlüsselt sind. Aua.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

ARGH die QuickInfo von Visual Studio (2012) ist so scheiße. Ich habe ein riesen Array, und sobald ich mit dem Cursor versehentlich über den Namen der Variable streife, hängt die Maschine geschlagene 2 min und spuckt ein Monster aus wie das hier (zu Beispielzwecken verkleinert):
quickinfo.png
  • Warum hängt der vor jeden Wert einen C-Cast?! Der steht NICHT in meinem Quelltext
  • Ist da niemand auf die Idee gekommen, dass 100 Buchstaben QuickInfo schon genug sind?!
Wenn mir das auf meinem Netbook passiert, kann ich entweder die Änderungen wegschmeißen und Visual Studio beenden, oder 15(!) Minuten warten bis es wieder reagiert. OMG WER MACHT SO EINE SCHEIßE
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Aramis »

Man injiziere hier eine Factory, die als Webservice verfuegbar ist und via SOAP dazu gezwungen wird, ein riesiges, persistentes, verteiltes, zustandsbehaftetes, aufgeblasenes Jammern auf den gesamten Enterprise-Java-Kram loszuwerden und sich dabei auch noch dauerhaft als Eclipse-Plugin (mit einem aus einem Metamodell abgeleiteten grafischen Designer) einnistet. Selbiges Jammern natuerlich in XML.
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Jahrelang die Dialoge falsch gezeichnet. Statt SetWindowPos() aufzurufen wenn sich die Dialoggröße ändert, muss man DeferWindowPos() benutzen. Dann wird einmal atomar neu gezeichnet statt bei n Controls n Mal zu zeichnen (flacker flimmer flacker flacker):

Code: Alles auswählen

  struct ChildWindowArea {
    SignedInt4B   x; // relative to the left edge of the parent's client area
    SignedInt4B   y; // relative to the upper edge of the parent's client area
    UnsignedInt4B widthInPixels;
    UnsignedInt4B heightInPixels;
  };

  // Positions one or more windows sharing a common parent. Causes one redraw instead of n.
  bool layOutChildWindows(
    HWND const *            toChilds,
    HWND const * const      toEndOfChilds,
    ChildWindowArea const * toNewPositions
  ) {
    MUST(toEndOfChilds > toChilds && 0x7FFFFFFF >= toEndOfChilds - toChilds); // WinAPI limit
#   if _DEBUG
      auto const commonParent = GetParent(toChilds[0]);
#   endif

    // "By specifying the maximum size needed, an application can detect and process failure early in the process."
    auto state = WINAPI_SHOULD_SUCCEED(BeginDeferWindowPos(int(toEndOfChilds - toChilds)));
    if(nullptr == state) {
      return no;
    }

    do {
#     if _DEBUG
        MUST(commonParent == GetParent(*toChilds));
#     endif
      MUST(65536 >= toNewPositions->widthInPixels); // Reasonable?
      MUST(65536 >= toNewPositions->heightInPixels); // Reasonable?

      // Since all resources have been allocated upfront, this call cannot fail. Note: "The handle returned by this function
      //  may differ from the handle passed to the function."
      state = WINAPI_SHOULD_SUCCEED(DeferWindowPos(state,
        *toChilds,
        nullptr, // ignored due to 'SWP_NOZORDER'
        toNewPositions->x, toNewPositions->y, int(toNewPositions->widthInPixels), int(toNewPositions->heightInPixels),
        SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOACTIVATE
      ));

    } while(++toNewPositions, ++toChilds < toEndOfChilds);

    WINAPI_SHOULD_SUCCEED(EndDeferWindowPos(state));
    return yes;
  }

Code: Alles auswählen

  void FooDialog::resize() {
    HWND const            controls[3] = { okButton, cancelButton, retryButton };
    ChildWindowArea const positions[3] = { ... };
    layOutChildWindows(toBeginningOf(controls), toEndOf(controls), toBeginningOf(positions));
  }
Zuletzt geändert von Krishty am 27.06.2014, 13:20, insgesamt 2-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4864
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Die D3DPRESENT_PARAMETERS haben einen Member hDeviceWindow. Aber wenn man eins angibt, um das Device bei D3DDevice::Reset() auf ein neues Fenster umzubiegen, scheitert der Aufruf. Gut, dass es sowas gibt.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich denke, dass du dafür eine neue Swap Chain anlegen musst. Reset() interessiert nur das Fenster, mit welchem Direct3D GPU-Zeit anfordern wird; nicht das Fenster, in dem letztlich angezeigt wird. Wenn du keine manuellen Swap Chains anlegst, nutzt D3D dieses Kontext-Fenster zugleich zum Anzeigen, und das stiftet dann diese Verwirrung. In deinem Fall solltest du ein unsichtbares Dummy-Fenster anlegen, das für die Laufzeit der Anwendung bestehen bleibt und als Fokus-Fenster verwenden, während du für die Ausgabefenster eigene Swap Chains anlegst. (Ich hasse das auch. Zum Glück wurde das mit D3D 10 deutlich vereinfacht.)

Viele wissen auch nicht, dass die D3DPRESENT_PARAMETERS (und DXGI_SWAP_CHAIN_DESC) Ein- und Ausgabeparameter zugleich sind: Bei Erfolg wird hineingeschrieben, welche Einstellungen Direct3D wirklich verwendet. Im Fenstermodus kann man also Breite, Höhe, Format, und Aktualisierungsrate auf 0 setzen und nach dem Aufruf bequem auslesen, wie groß das Zielfenster ist und in welchem Format der Desktop vorliegt. So spare ich mir jede Menge GetClientRect()s.

Leider hat die MSDN erst letztes Jahr angefangen, darauf hinzuweisen; darum gehen zu viele Leute den mühsamen Umweg erst die Desktop-Farbtiefe / Aktualisierungsrate / Fensterauflösung / usw festzustellen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4864
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Ich wollte ja allen eigenen Fenstercode rausschmeißen und GLFW benutzen. Nun bin ich aber schon wieder fröhlich am Hacken dieses Codes. Hab erstmal reingehackt, dass der optional auch gar keinen OpenGL-Kontext anlegt, damit ich meinen getesteten und optimierten D3D-Renderer weiterverwenden kann. Und jetzt hacke ich grad rein, dass der dynamisch zwischen Vollbild und Fenstermodus wechseln kann. Laut hastigem Googlen kann SFML und SDL das, es sollte also auf den drei Plattformen Win/Mac/Linux jeweils funktionierender Code dafür existieren.

Gonna give back to the community und so... Bin nur nicht sicher, ob die das dann am Ende überhaupt haben wollen. Die Message Pump muss ich ja auch selbst machen, sonst geht mein ganzer RawInput-Code für multiple Mäuse&Tastaturen nicht mehr.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Krishty hat geschrieben:Jahrelang die Dialoge falsch gezeichnet. Statt SetWindowPos() aufzurufen wenn sich die Dialoggröße ändert, muss man DeferWindowPos() benutzen. Dann wird einmal atomar neu gezeichnet statt bei n Controls n Mal zu zeichnen (flacker flimmer flacker flacker):
P.S. weil ich gerade eine Katze hier durchhuschen gesehen habe: Zustandslose Controls wären natürlich die mit Abstand einfachste Lösung für sowas (und viel mehr)!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Zum ersten Mal seit zwei Jahren Internet ohne Volumenlimit.

Und König der Löwen ist abstoßend antidemokratische, antisozialistische Propaganda.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4864
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Ich glaube, ich habe mich vor einigen Jahren schonmal darüber beschwert, aber ich bin grad eben wieder in die Falle getappt, als ich Tutorial-Code aus dem Internet kopiert und mit MSVC2013 gebaut habe.

Code: Alles auswählen

void Funktion( const char* text, ...) { ... }
void Funktion( const char* text, va_list params) { ... }

std::vector<char> text( 1, 0); // Text nur aus dem abschließenden Nullbyte bestehend
Funktion( "%s", text.data()); // Crash
Der Visual C++-Compiler wählt aus mir bislang unbekannten Gründen dort die va_list-Überladung, nicht die Ellipse. Und das crasht natürlich tief im vsprintf() drin.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Jammer-Thread

Beitrag von antisteo »

2 Tage Arbeit im Öffentlichen Dienst hinter mir. Ich fühle mich wie ein HARTZ-IV-Empfänger, der doppelt so viel bekommt, aber nur halb so viel Formulare dafür ausfüllen muss. Ich glaube, ich gehe da nicht mehr hin und warte, bis der bürokratische Apparat mir das Gehalt entzogen hat. Genug andere Sachen gibt es ja zu tun.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Hat sich ein -Wall (statt W3) ins Visual Studio Projekt eingeschlichen. VS hängt dann natürlich bei jedem Build sofort, da es mehrere Zehntausend Fehler pro Datei gibt (die meisten direkt aus std:: ).
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Jammer-Thread

Beitrag von kimmi »

Einmal einen Tag Gartenarbeit und nun fast schon 1 Woche dank gezerrter Schulter ( ja, ich mache Sport ) kaum bewegungsfähig. Man wird alt :).

Gruß Kimmi
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

4000 Dateien in einem Verzeichnis anlegen, aber nicht schließen. Programm beenden um Windows die Dateien schließen zu lassen. Währenddessen ein Explorer-Fenster auf das Verzeichnis offenhalten.

Ab und zu hängt sich der Explorer mit 100 % CPU-Auslastung auf und verhindert, dass sich der Benutzer abmelden kann. Urks
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Jammer-Thread

Beitrag von kimmi »

Wenn du nun noch einen dynamischen View in ClearCase ( IBM's Antwort auf Subversion ) benutzt,m kannst du dir Kaffee aus Brasilien holen :).

Kimmi
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Naja … langsam ist kein Problem. Aber Aufhängen geht nicht (habe 8 Stunden gewartet). Es gibt auch kein sichtbares Zeichen dass etwas schief lief; alles ist normal, nur zwei Instanzen von explorer.exe verbrauchen je einen ganzen Kern. Das stinkt zum Himmel.

————

Ich bastle gerade einen Hex-Editor und OMG das Scrollen bringt mich um. Nicht nur die tatsächliche Logik dahinter ist, like, REALLY haarsträubend, sondern die WinAPI hat sich wieder eine halbe Million Möglichkeiten zusammengezimmert: Tasten, Scrollbars, Maus. Relative oder absolute Offsets. Like OMG ich habe ja nichts Besseres zu tun als eure like 100 Spezialfälle zu einem scrolled(deltaInLines) zusammenzuabstrahieren, ihr Code-Schlampen …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Krishty hat geschrieben:Zum ersten Mal seit zwei Jahren Internet ohne Volumenlimit.
Komischerweise reißt die Verbindung aber immer nach ziemlich genau 50 GiB (also 7 Stunden bei 16 mbit) ab. WTF

Im Router steht nichts Brauchbares – nur, dass ein paar Domains timeouten und dass ein paar IP-Adressen nicht vergeben werden können. Kacke

Nachtrag: Schon wieder. Nach 46.800.000.000 B.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Fünf Tage am Hex-Editor gearbeitet. Jetzt bemerke ich im Alltag Sehbeeinträchtigung; wahrscheinlich vom ewigen aufs-Hex-Gitter-starren. Fuck fuck fuck fuck
14-07-09 0xf00f00.png
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten