JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=17cb2c352187291be364b5c67c977f6bMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

BltFast spinnt mit neuem NVidia Treiber
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 16:11    Titel: BltFast spinnt mit neuem NVidia Treiber Antworten mit Zitat

Tag,

da mein D3D mit dem alten Treiber irgendwie immer nicht so richtig ging, hab ich mir von NVidia den aktuellsten Treiber runtergeladen. So, die D3D Spiele gingen auch wieder. Nun hab ich mein DirectDraw Projekt gestartet, da seh ich plötzlich, dass die Buttons nicht mehr richtig dargstellt werden. Shocked Der Grund: Einmal ( und nur einmal und immer wieder an der selben Stelle ) blittet ein BltFast sozusagen nur die Anfangspixel von jeder Reihe und zerrt sie in die Länge. Also zB. aus

Code:

75839494
98963423
28794023
19245789


wird

Code:

77777777
99999999
22222222
11111111


BltFast liefert keinen Fehlercode und sonst läuft auch alles prima, alle anderen Blits laufen wie immer, nur der eine Aufruf liefert immer wieder dieses Ergebnis?! Ich habe nichts verändert, bis auf die Treiberaktualisierung und bin total ratlos. Crying or Very sad
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.09.2005, 16:12    Titel: Antworten mit Zitat

Welche Texturgrössen benutzt du?
Was für besondere Techniken nutzt du?
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 16:14    Titel: Antworten mit Zitat

Zitat:

Welche Texturgrössen benutzt du?


Ähm, Texturen verwende ich gar nicht, nur Surfaces. Rolling Eyes und die sind immer unterschiedlich groß, einmal z.B. 190x30.

Zitat:

Was für besondere Techniken nutzt du?


Weiß nicht, was du unter "besonderen Techniken" verstehst, ist eigentlich einfach nur ein normaler FastBlit Aufruf.
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.09.2005, 16:19    Titel: Antworten mit Zitat

Versuche deine Texturen in Hardwarenahen Grössen zu halten also n²
das sollte eigentlich die Lösung sein.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 16:23    Titel: Antworten mit Zitat

Zitat:

Versuche deine Texturen in Hardwarenahen Grössen zu halten also n²
das sollte eigentlich die Lösung sein.


Wie gesagt, ich verwende keine Texturen, sondern Surfaces in DirectDraw. Oder werden die intern als Texturen erstelllt? Shocked
Das Komische ist auch, davor wird ein identischer Blit ausgeführt, bloß mit anderem Zielsurface, die sind aber alle gleich groß und da gehts? Confused
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.09.2005, 16:30    Titel: Antworten mit Zitat

Irgendwie musste ja deine Bilddaten aufs Surface bekommen Wink intern sinds ja weiterhin raw Bilddaten.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 17:48    Titel: Antworten mit Zitat

Was für Bilddaten meinste genau und auf welche Surface?
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dragon
Super JLI'ler


Alter: 38
Anmeldedatum: 24.05.2004
Beiträge: 340
Wohnort: Sachsen
Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 18:08    Titel: Antworten mit Zitat

OLiver hat Folgendes geschrieben:
Was für Bilddaten meinste genau und auf welche Surface?

Kurz gesagt: Wie lädst du deine Bilder in den Surface?
_________________
Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 18:52    Titel: Antworten mit Zitat

Locken und reinladen, bzw von einem anderen surface per Blit kopieren und dann "verändern". Warum ist das so wichtig?
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.09.2005, 18:54    Titel: Antworten mit Zitat

Weil wenn die SurfaceDimensionen nicht n²*m² sind es bei einigen Grafikkarten zu Darstellungsfehlern kommen könnte.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 18:59    Titel: Antworten mit Zitat

Fallen hat Folgendes geschrieben:
Weil wenn die SurfaceDimensionen nicht n²*m² sind es bei einigen Grafikkarten zu Darstellungsfehlern kommen könnte.


Naja, dann versteh ich aber ein paar Sachen nicht:

1. In Zusammenhang mit DD hab ich noch nie von einer n^2 Begrenzung gehört.
2. Wie gesagt werden ja vorher identischer Blits ausgeführt, ich hab sehr viele Objekte, die auch "krumme" Breiten und Höhen haben und trotzdem richtig dargstellt werden --> warum nur an dieser einen Stelle nicht?
3. Wieso ging es auf den altem Treiber.
4. Wieso wird beim Erstellen und Blitten keine Fehlermeldung zurückgegeben?
5. Der Back- und Fronbuffer sind ja auch Surfaces, die auch keine Zweierpotenzen als Breite bzw. Höhe haben.
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.09.2005, 19:15    Titel: Antworten mit Zitat

Die n² Regel ist eigentlich weithin bekannt, dass du es nicht kennst liegt wohl daran das du bisher keine Probleme damit hattest.

Front&Backbuffer werden runtergerechnet angezeigt soweit ich weiss. (1024x768 sond also 1024x1024) kann mich aber auch irren, also bitte korrigieren.

Das es bei dir bei den anderen nicht Back/Framebuffer relevanten Blits ging kann damit zusammenhängen das die Regelung nur für diese buffer existiert, habe dieses Thema nie lange verfolgt da ich mir es angewöhnt habe mit den normalen Grössen zu arbeiten oder Systeme zu nutzen die es für mich zur Laufzeit anpassen.

Es wird kein Fehler ausgegeben weil es doch geblittet wurde, sollte er sagen "DD_FASTEINFEHLER"? naja wäre evtl möglich, aber das kann man durch Caps abfragen sicher unterbinden.

Dein alter Treiber war evtl tolleranter.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 07.09.2005, 19:58    Titel: Antworten mit Zitat

Ich erinnere mich nur noch sehr vage, aber ich glaube auch nicht, dass es eine Power of Two Regel für Surfaces in DirectDraw gab.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 08.09.2005, 12:54    Titel: Antworten mit Zitat

Zitat:

Die n² Regel ist eigentlich weithin bekannt, dass du es nicht kennst liegt wohl daran das du bisher keine Probleme damit hattest.


Die kenn ich schon, aber nur im Zusammenhang mit D3D und nicht DD. Ich dachte immer, dass Surfaces und Texturen 2 verschiedene Sachen sind.

Zitat:

Das es bei dir bei den anderen nicht Back/Framebuffer relevanten Blits ging kann damit zusammenhängen das die Regelung nur für diese buffer existiert, habe dieses Thema nie lange verfolgt da ich mir es angewöhnt habe mit den normalen Grössen zu arbeiten oder Systeme zu nutzen die es für mich zur Laufzeit anpassen.



Dieser Blit ist absolout identisch mit den vorhergehenden, das Ziel und Quellsurface sind beide Offscreenplain Surfaces, bei dem Blit, bei dem es nicht klappt ebenfalls, die Surface"typen" sind also vollkommen identisch, ebenso die Breite & Höhe.

Zitat:

Es wird kein Fehler ausgegeben weil es doch geblittet wurde, sollte er sagen "DD_FASTEINFEHLER"? naja wäre evtl möglich, aber das kann man durch Caps abfragen sicher unterbinden.


Naja, es sollte doch aber wenigstens beim Erstellen des Surfaces ne Fehler bzw. "Warn-"meldung kommen, wenn er nur Surfaces mit 2^n nimmt? (übrigens ist es nicht 2^n und nicht n^2?)

Zitat:

Dein alter Treiber war evtl tolleranter.


Also hat er die auf 2^n sozusagen hochgerechnet?

Naja, ich werd es heut Nachmittag mal probieren...
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 37
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 08.09.2005, 13:17    Titel: Antworten mit Zitat

Hm... zeig doch mal ein bisschen Code, von dem du annimmst, dass er Problem relevant ist. Mich persönlich würde es auch schon sehr wundern, wenn es an der "Power-of-Two-Regel" liegen würde.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum