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

1

10.05.2011, 09:07

Benutzung von Microsoft WARP

Hallo Community.

Vor einiger Zeit habe ich ein Beitrag erstellt, welcher einige Diskussionen angeregt hat.

Das Projekt habe ich nun grundsätzlich entwickelt. Lokal auf meinem Rechner läuft alles wunderbar. Aber auf dem Server nicht.
Lange und intensive Recherchen haben mich dazu gebracht, dass DirectX auf einem Server nicht einfach so initialisiert werden kann, da der Server den Zugriff auf die Hardware ein wenig erschweert =)

Daher bin ich auf Windows WARP gestossen, welches, laut Beschreibung, mein Problem lösen sollte.

Nun die Frage an euch, kennt ihr das?? habt ihr das schonmal verwendet? wenn ja, wie? VOrtile, Nachteile??

Einfach alles was ihr darüber wisst =)

Danke und Gruss
Master CHief

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

10.05.2011, 17:32

Hat denn dein Server keine entsprechende Grafikkarte? Alles weitere steht doch eh schon in dem von dir verlinkten Artikel!?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

10.05.2011, 17:56

Ich denke auch, dass das weniger an irgendeiner "Erschwerung" durch den Server liegt, sondern vielmehr an mangelnder Hardware.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

4

11.05.2011, 08:27

Nein, dass Problem ist, dass DirectX (ohne WARP) ein Fenster braucht, damit alles richtig funktioniert. Wenn ich es aus dem Visual Studio (lokal) aufrufe, funktioniert alles, da das Visual Studio als Fenster gilt.


EDIT by dot: Sry, ich hab den Beitrag versehentlich editiert statt zitiert und hab es nicht gemerkt, darum fehlt hier nun die Hälfte :S

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (11.05.2011, 11:19)


Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

11.05.2011, 08:33

Und warum erstellst du dir dann nicht einfach ein Fenster, dass DirectX benutzen kann?

6

11.05.2011, 08:44

Weil es ein Webservice ist, welcher keine Fenster öffnen kann / darf.
Dieser Webservice nimmt nur Parameter entgegen, verarbeitet sie und fertig.

Ich weis ja wie ich das Problem lösen kann, in der Beschreibung zu WARP steht, dass meine Problemati mit WARP gelöst werden kann.
Nur finde ich keine brauchbaren Hinweise im Web darüber, wie genau das jetzt anzuwenden ist.

7

11.05.2011, 09:48

Zitat

How to Use WARP

Direct3D 10, 10.1, and 11 components can use an additional driver type that you can specify when you create the device (for example, when you call the D3D11CreateDevice function). This driver type is D3D10_DRIVER_TYPE_WARP or D3D_DRIVER_TYPE_WARP. When you specify this driver type, the runtime creates a WARP device and does not initialize a hardware device.

Because WARP uses the same software interface to Direct3D as the reference rasterizer does, any Direct3D 10 or 10.1 application that can support running with the reference rasterizer can be tested by using WARP. To use WARP, rename D3d10warp.dll to D3d10ref.dll and place it in the same folder as the sample or application. Next, when you switch to ref, you will see WARP rendering.

If you rename WARP to D3d10ref.dll and place it in C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\C++\Direct3D\Bin\x86, you can run all the DirectX samples against WARP, either by clicking the "Toggle Ref" button in the sample, or by running the sample with /ref specified on the command line.
Das funktioniert nicht? Musst doch einfach nur eine Textur rendern, eigentlich sollte das kein Fenster erfordern. http://msdn.microsoft.com/en-us/library/…v=VS.85%29.aspx

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chromanoid« (11.05.2011, 09:59)


8

11.05.2011, 09:58

Klar, ich dachte zuerst auch, wow, da steht ja wie das funktioniert =)

Nur, funktioniert es eben nicht. Ich habe dieser Windows API Code (oben verlinkt), heruntergeladen und in meiner KLasse eingebunden.
Auc der DriverType WARP steht mir jetzt zur Verfügung.

Nur, wenn ich das Device erstelle, habe ich keine Möglichkeit einen DriverType anzugeben.
Ich arbeite mit C#, ich weis nicht inwiefern das einen Unterschied macht zu C++ (klar, kenne ich den Unterschied, aber ich meine in Bezug auf die Erstellung von einem Device =)

9

11.05.2011, 10:03

Ich glaube das Ding ist deprecated, versuch es doch mal mit slimdx. Da kann man jedenfalls den DriverType mit übergeben. Weil ich gerade noch nicht arbeiten will :): du kannst bei D3DDevice.CreateDevice DriverType.Reference übergeben (bei Windows API Code, siehe Windows API Code Pack DirectX Help.chm->Index->"D3DDevice class, methods").

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Chromanoid« (11.05.2011, 10:19)


10

11.05.2011, 10:32

Danke, aber ich möchte das ohne slimDx machen.

D3DDevice.CreateDevice habe ich schon gesehen, aber das finde ich nicht in C#??
Entweder ich bin föllig dumm, oder ich mache irgendwas falsch =)

Werbeanzeige

Ähnliche Themen