Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 14. Nov 2018 18:57

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Xflush Alternative gesucht
BeitragVerfasst: 15. Aug 2008 7:50 
Offline

Registriert: 22. Jul 2008 11:03
Beiträge: 16
Hallo Leute,

ich habe bis jetzt immer ein XFlush(display); benutzt um eine XLib Aktion wie XSendEvent (display, tmpWin, False, 0L, &xev) abzuschließen!
Das finde ich eigentlich etwas hart, gibt es eine bessere Methode?

Grüsse Carsten


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15. Aug 2008 9:56 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
XFlush() sendet alle Client-Anforderungen in einem Rutsch vom Client zum Server, um die Zahl der Requests zu verringern. Genau dafür ist das gemacht. Was ist daran bitte "hart"?

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15. Aug 2008 14:27 
Offline

Registriert: 22. Jul 2008 11:03
Beiträge: 16
Genau darin besteht mein "Problem"!
Wenn ich asynchron etwas an den XServer schicken möchte wird alles geschickt was zuvor zusammengebaut wurde.
Bsp.
Es soll etwas anzeigt werden, zwischendurch wird ein signal empfangen!
Das signal wird abgearbeitet und sendet etwas an den XServer, damit der XServer das sofort erhält wird ein xflush() aufgerufen(!). Dann würde das, was zuvor vorbereitet wurde auch gleich gesendet! Nach der Abarbeitung würde die Applikation die Anzeige weiter abarbeiten!
Mir ist einfach unklar, was für Auswirkungen dieses asynchrone bearbeiten des Signals verursachen kann! Ich gehe davon aus das es nicht unproblematisch ist, weiss aber auch nicht wie ich dem entgegenwirkenn könnte!

In meinem Verständnis ist dies in der Realisierung der XtAppMainLoop zu suchen, wenn ein Signal asynchron abgearbeitet wird kann es halt die Methode in der sich die Mainloop befindet unterbrechen!
Das ist doch so, oder habe ich das falsch verstanden?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15. Aug 2008 19:42 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Du kannst die Requestqueue zum XServer übertragen, so oft du willst. Es gibt keine Transaktionssemantik, das heißt: Dem Xserver ist es egal, welche Requests innerhalb eines Request-Blocks zusammengefasst sind, die werden auf der Empfangsseite sowieso einfach wieder in eine Queue eingetütet.

Wenn du in deinem Programmablauf eine bestimmte Reihenfolge der Event-Bearbeitung erzwingen musst, musst du jeweils einen "Round-Trip" erzeugen, das heißt, die Event-Verarbeitungsroutine erzeugt wieder einen neuen Event für den nächsten Schritt. Damit ist die Reihenfolge dann festgenagelt.

Das fehlen der Transaktionen ist auch ein Grund dafür, dass X in solchen Abläufen sehr langsam sein kann. Am besten vermeidet man Abläufe mit fester Reihenfolge.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de