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
|
Verfasst am: 07.09.2005, 15:11 Titel: BltFast spinnt mit neuem NVidia Treiber |
|
|
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. 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. _________________ http://www.sieder25.org/ (Siedler 2 - Remake) |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.09.2005, 15:12 Titel: |
|
|
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 |
|
|
OLiver Super JLI'ler
Alter: 33 Anmeldedatum: 29.06.2003 Beiträge: 306 Wohnort: Jena Medaillen: Keine
|
Verfasst am: 07.09.2005, 15:14 Titel: |
|
|
Zitat: |
Welche Texturgrössen benutzt du?
|
Ähm, Texturen verwende ich gar nicht, nur Surfaces. 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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.09.2005, 15:19 Titel: |
|
|
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 |
|
|
OLiver Super JLI'ler
Alter: 33 Anmeldedatum: 29.06.2003 Beiträge: 306 Wohnort: Jena Medaillen: Keine
|
Verfasst am: 07.09.2005, 15:23 Titel: |
|
|
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?
Das Komische ist auch, davor wird ein identischer Blit ausgeführt, bloß mit anderem Zielsurface, die sind aber alle gleich groß und da gehts? _________________ http://www.sieder25.org/ (Siedler 2 - Remake) |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.09.2005, 15:30 Titel: |
|
|
Irgendwie musste ja deine Bilddaten aufs Surface bekommen 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 |
|
|
OLiver Super JLI'ler
Alter: 33 Anmeldedatum: 29.06.2003 Beiträge: 306 Wohnort: Jena Medaillen: Keine
|
Verfasst am: 07.09.2005, 16:48 Titel: |
|
|
Was für Bilddaten meinste genau und auf welche Surface? _________________ http://www.sieder25.org/ (Siedler 2 - Remake) |
|
Nach oben |
|
|
Dragon Super JLI'ler
Alter: 38 Anmeldedatum: 24.05.2004 Beiträge: 340 Wohnort: Sachsen Medaillen: Keine
|
Verfasst am: 07.09.2005, 17:08 Titel: |
|
|
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 |
|
|
OLiver Super JLI'ler
Alter: 33 Anmeldedatum: 29.06.2003 Beiträge: 306 Wohnort: Jena Medaillen: Keine
|
Verfasst am: 07.09.2005, 17:52 Titel: |
|
|
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.09.2005, 17:54 Titel: |
|
|
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 |
|
|
OLiver Super JLI'ler
Alter: 33 Anmeldedatum: 29.06.2003 Beiträge: 306 Wohnort: Jena Medaillen: Keine
|
Verfasst am: 07.09.2005, 17:59 Titel: |
|
|
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.09.2005, 18:15 Titel: |
|
|
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 |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 07.09.2005, 18:58 Titel: |
|
|
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 |
|
|
OLiver Super JLI'ler
Alter: 33 Anmeldedatum: 29.06.2003 Beiträge: 306 Wohnort: Jena Medaillen: Keine
|
Verfasst am: 08.09.2005, 11:54 Titel: |
|
|
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 |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 08.09.2005, 12:17 Titel: |
|
|
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 |
|
|
|