Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Firefly

Alter Hase

Beiträge: 484

Wohnort: Irgendwoundnirgendwo

  • Private Nachricht senden

11

19.01.2007, 20:23

vllt. liegts an der Bidlschirmfrequenz

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

12

19.01.2007, 22:29

Preisfrage: wo kommt da die Zeit mit rein?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

13

20.01.2007, 14:28

Zitat von »"Nox"«

Preisfrage: wo kommt da die Zeit mit rein?

Weshalb sollte ich die Zeit mitreinberechnen?
MouseState.lX ist ja immer schon die relative Position zur jener des vorherigen Frames...
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

14

20.01.2007, 16:03

Also erstens frage ich mich vorher du dir so sicher bist, dass dein fAnalog sich von -1 bis 1 abspielt. Im welchen Bereich bewegt sich MouseState.lX? Weil FAnalog ist ja proportional zu MouseState.lX.

PS: ganz sicher würdest du gehen wenn du die Bewegung nur digitalisierst und mal der Zeit rechnest. Also ähnlich wie bei der Tastatur.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

15

20.01.2007, 23:20

Das der Cursor hinterherhinkt ist eigentlich ganz normal.

Liegt daran, dass bei Present nicht gleich das Bild dargestellt wird, sondern erst ein paar Frames später.
Du kannst das verhindern, indem du absichtlich die GPU mit der CPU synchronisiert, indem du zB ne Textur lockst oder einen Query machst. Das drückt aber natürlich die Framerate.
Am besten benutzt du einen Hardwarecursor.

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

16

21.01.2007, 11:59

Zitat von »"Helmut"«

Das der Cursor hinterherhinkt ist eigentlich ganz normal.

Liegt daran, dass bei Present nicht gleich das Bild dargestellt wird, sondern erst ein paar Frames später.
Du kannst das verhindern, indem du absichtlich die GPU mit der CPU synchronisiert, indem du zB ne Textur lockst oder einen Query machst. Das drückt aber natürlich die Framerate.
Am besten benutzt du einen Hardwarecursor.

Ciao


Könntest du das bitte näher erläutern? Hardwarecursor sagt mir nicht besonders viel! Danke schon mal!

@Nox
Sorry... als ich das mit dem Intervall schrieb, dachte ich, dass ich durch die Auflösung teile... So hast du jedenfalls recht ;) ^^
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

17

21.01.2007, 12:27

Ein Hardwarecursor ist ein ganz normaler Cursor;)
Also der von Windows.
Nachteil ist natürlich, dass es kein richtiges Alphablending gibt und die Farben auch etwas eingeschränkt sind. DX hat sogar Funktionen, um die Benutzung etwas zu vereinfachen.

Aber das mit der Synchronisierung hast du verstanden?

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

18

21.01.2007, 17:13

Zitat von »"Helmut"«

Aber das mit der Synchronisierung hast du verstanden?


Ich hoffe schon ;-).
Einfach die Texture des Cursors bei jedem Rendern locken und wieder freigeben, oder? Soooo extrem dürfte da die performance aber nicht in mitleidenschaft gezogen werden!
Den von Windows möchte ich eigentlich nicht gern verwenden...
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

19

21.01.2007, 17:41

Also ich hab das jetzt mit dem Sperren probiert, und das hat nicht wirklich geholfen:

C-/C++-Quelltext

1
2
3
D3DLOCKED_RECT TextureRect;
m_pTexture->LockRect(0, &TextureRect, NULL, 0);
m_pTexture->UnlockRect(0);


Das ist der Code, den ich nach dem Updaten der Position reingeschrieben hab!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

20

22.01.2007, 18:16

Also man kann das Bild der Windowscursors natürlich ändern.

Versuch mal statt eines Locks einen Occlusion Query. Damit fragt man ab, wie viele Pixel gezeichnet worden sind und erzwingt auf jeden Fall ne Synchronisation. Im DX SDK gibts dazu ein Sample, oder auch bei Google.

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

Werbeanzeige