Zitat von
c113plpbr:
Keineswegs. Bisher hat noch alles problemlos funktioniert, was ich damit gemacht habe!
Ist das repräsentativ? Bei mir war bereits das Gegenteil der Fall.
Zitat von
c113plpbr:
Ja, schon klar, aber Windowseigene Methoden tun nichts anderes. Nur eben auf Systemwegen.
Und, zur Geschwindigkeit: Ein
DirectX-Hook (wie er z.B. in Fraps verwendet wird), der vllt. noch die ein oder andere Funktion aufruft, kostet vielleicht 2 Frames (bei ner durchschnittlichen Framerate von 60fps). Und das ist nun wirklich wenig ... und nun sag mir nicht, dass diese SendMessage-Funktionen dauerhaft öfter als 60 mal pro sekunde aufgerufen werden!
Das kommt immer auf die Menge von Fenstern an. Prinzipiell magst du recht haben. Aber an welcher Prozessorleistung (CPU + GPU) hast du denn die 2 FPS gemessen? Ich denke mal an meinem K6-II 450 (16 MB Grafikkarte) war es nicht, oder? Und ja - auch wenn Entwicklerrechner oft sehr leistungsfähig sind - die meisten Rechner kommen nicht an einen Pentium HT ran.
Zitat von
c113plpbr:
[edit]
Achja, die Entwickler von Detours (ist sowas ähnliches, nur von M$) haben den Zeitunterschied (bei leeren Funktionen) mal nachgemessen:
Direktaufruf: 113 ns
Mit Detours: 145 ns
und das ist sogut wie nichts ...
[/edit]
LOL - und wieder die Frage nach dem Rechner. Außerdem ist hier die Quantität der Aufrufe ganz offensichtlich sehr entscheidend. Und SendMessage() dürfte zu den häufigsten Funktionen gehören.