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

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

21

22.01.2007, 21:14

Hab das jetzt probiert... Leider hats nicht funktioniert...
Nur um allen Nachfragen vorzubeugen, so hab ichs probiert:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
//Init

ogDirect3D::Instance()->CreateQuery(D3DQUERYTYPE_OCCLUSION, &m_pOcclusionQuery);

//--------------------------------


//Render

m_pOcclusionQuery->Issue(D3DISSUE_BEGIN);

//Das Quad rendern (DrawPrimitiveUP)


m_pOcclusionQuery->Issue(D3DISSUE_END);


@Helmut & @ all
Hast du/Ihr sonst noch irgendeine Idee? Wie lösen das denn andere Spiele? Mir wäre noch nie ein GlatteisCursor aufgefallen ;)
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

22

23.01.2007, 01:43

Doch, so nen Cursor hab ich schon bei einigen Spielen gesehen.

Zu dem Code:
Du musst natürlich auch abfragen, wie viele Pixel nun eigentlich gezeichnet worden sind;)

Ansonsten versuch mal ein Sleep(10);

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

23

23.01.2007, 13:55

ALso mit Sleep(10); funktionierts überhaupt nicht... Wenn ich hingegen das mit dem Query mache, dann wirds zwar besser, aber gut ist es immer noch nicht (vor allem bei höheren Auflösungen). Außerdem beansprucht dieser Query 0.012 Sekunden im Durchschnitt.... Das ist verdammt viel!
Gibts da keine bessere Möglichkeit? Oder wenigstens eine, die für den Preis 100%ig funktioniert?
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

24

23.01.2007, 14:32

naja also ich würde ja immernoch folgendes nehmen:

C-/C++-Quelltext

1
2
m_vPositionAbs.x    += m_fSpeedFactor * DI[OG_MOUSE_X_POS].fAnalog; 
m_vPositionAbs.y    -= m_fSpeedFactor * DI[OG_MOUSE_Y_POS].fAnalog; 


Weil in der Tribase funktioniert das ja einwandfrei. Wie groß ist denn deine Verzögerung? Weil irgendwelche Aktionen von wegen Mauszeiger ausbremsen halte ich persönlich für nicht angemessen ;)
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

25

23.01.2007, 16:13

Natürlich braucht der Query viel Zeit.
Aber was nützt eine hohe Framerate, wenn ein Frame ne zehntel Sekunde braucht, bis er sichtbar ist?

Bessere Lösungsmöglichkeiten würden mich aber auch interessieren.

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

26

23.01.2007, 22:28

Ich kann schwer sagen wie groß die Verzögerung ist... Man merkt es jedenfalls deutlich.
Wenn ihr wollt schick ich euch das Programm und ihr könnt euch selbst vom Problem überzeugen?!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

27

27.02.2007, 15:02

Schraub mal am D3DPRESENT_PARAMETERS.PresentationInterval herum.
Standard ist D3DPRESENT_INTERVAL_DEFAULT was bei einem TFT-Monitor etwa 60hz entspricht.
fka tm

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

28

05.03.2007, 17:54

DANKE!!! Das wars!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Werbeanzeige