Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
KI JLI Master

Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 09.07.2003, 19:55 Titel: |
|
|
@Christian
Danke für den Tip! Jetzt läuft das Programm mit konstanten 85 fps.
Erst habe ich das hier in
"void CDirect3D::BeginScene(void)"
auskommentiert:
Code: | //m_lpD3DDevice->StretchRect(m_lpSurface,
// NULL,
// m_lpBackBuffer,
// 0,
// D3DTEXF_NONE);[/color] |
Doch dann gab es wieder darstellungsfehler, wie auf diesem Screenshot zu sehen.
(Diesen Link habe ich auch schon in einer meiner letzten Beiträge gepostet)
Nachtrag: Außerdem habe ich die Stelle im Code auskommentiert, an der das Bild in den Speicher geladne wird.
Dann habe ich Clear Viewport hinzugefügt:
Code: | // Methoden zum Start/Beenden der Szene
void CDirect3D::BeginScene(void)
{
// Clear the viewport
m_lpD3DDevice->Clear( 0L, NULL, D3DCLEAR_TARGET,
0x000000ff, 1.0f, 0L );
m_lpD3DDevice->BeginScene();
// aktuellen Bereich in den Backbuffer kopieren
//m_lpD3DDevice->StretchRect(m_lpSurface,
// NULL,
// m_lpBackBuffer,
// 0,
// D3DTEXF_NONE);
} |
Jetzt funktioniert alles prima. Allerdings ohne Hintergrund.
Meine Systemkonfiguration->
Betriebssystem: Windows XP
Systemhersteller: MSI
Prozessor: AMD Athlon(tm) Processor, MMX, 3DNow, ~600 MHZ
Arbeitsspeicher: 192 MB RAM
<Off Topic>
test:♠ |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 09.07.2003, 21:07 Titel: |
|
|
Hi,
schön, dass wenigstens Hoffnung besteht. Die Sprites werden so oft angezeigt, da der Hintergrund nicht gelöscht wird. Ist im Prinzip ja auch nicht nötig, da der Hintergrund ja im Normalfall die alten Sprites löscht. Das mit den Clear war eine gute Idee. Das Problem ist also weiterhin, dass das Hintergrundbild nicht in den Speicher passt. Du kannst versuchen ein sehr kleines Hitergrundbild zu verwenden - das ist aber keine richtige Lösung.
Ich befürchte es wird mit wenig Aufwand nicht möglich sein, eine Lösung zu finden. Was man machen könnte wäre zu versuchen, den Hintergrund als Textur mit dem Flag D3DPOOL_MANAGED zu laden und dann anzuzeigen. Dazu müsstes du mit transformieren Vertices arbeiten (zwei Dreiecke in Bildschirmkoordinaten) auf die die Textur projiziert wird.
Christian |
|
Nach oben |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 11.07.2003, 09:59 Titel: |
|
|
Auf meiner 350Mhz-Kiste läuft es ziemlich konstant auf 100 FPS, wenn beide Spieler auf den Schlagtasten draufbleiben kann es schon mal auf 92 runtergehen.
100 FPS sind durch die Wiederholrate von 100Hz das Maximum, die Auflösung betrug WIMNI 800x600. _________________ Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
 |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 11.07.2003, 11:15 Titel: |
|
|
Was hast du für eine Grafikkarte, wieviel RAM? |
|
Nach oben |
|
 |
KI JLI Master

Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 11.07.2003, 13:05 Titel: |
|
|
Christian Rousselle hat Folgendes geschrieben: | Hi,
schön, dass wenigstens Hoffnung besteht. [...] das ist aber keine richtige Lösung.
Ich befürchte es wird mit wenig Aufwand nicht möglich sein [...] Dazu müsstes du mit transformieren Vertices arbeiten (zwei Dreiecke in Bildschirmkoordinaten) auf die die Textur projiziert wird.
Christian |
Danke für die Hilfestellung. Ich denke das sollte kein großes Problem sein.
Hat ja früher mit DX8 unter Visual Basic auch geklappt  |
|
Nach oben |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 14.07.2003, 12:59 Titel: |
|
|
Ich habe 384MB SD-RAM (läuft mit FSB 100Mhz -> CPU 3.5*100 = 350Mhz)
Meine Grafikkarte ist eine Geforce2 MX-400 mit 64MB Speicher.
Zusammengefasst:
CPU Pentium II 350Mhz
RAM 384MB SD-RAM (1x256 + 1x128)
GPU Geforce 2 MX-400 mit 64MB
Was vielleicht nicht vergessen werden darf, ich nutze Windows 98 (SE) und habe dort den virtuellen Arbeitsspeicher selbst festgelegt. (min 384, max 384 - mehr kann ich net weil meine Festplatte so gut wie voll ist, sonst würde ich auf 1024/1024 hochschrauben )
Hab mein System halt so gut wie möglich überall sonst noch optimiert, kann damit sogar GTA 3 / VC flüssig (mit ab und zu kleinen rucklern) spielen, auch wenn da die Mindestanforderungen 800Mhz sein sollen
Ja ich weiß, ich kann leider nicht groß mit meinem PC angeben  _________________ Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
 |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 14.07.2003, 13:12 Titel: |
|
|
Bei dir läuft GTA 3/Vice City
Bei mir leider nich:
450 MHz
aber GraKa is zu sch**** nur 8 MB
Sonst würde es wohl auch laufen _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 14.07.2003, 13:22 Titel: |
|
|
Aber so sehr hat sich die GF2 bei mir nicht gelohnt, ich bereue es sie gekauft zu haben, da sie von meiner CPU eh wieder ziemlich abgebremst wird. Hatte zuvor eine TNT2-M64 mit 32MB.
Aber das ist eigentlich nicht das Hauptproblem, mein PC spinnt auch, bei Benchmarks unterliege ich einem 150MHZ system mit 4MB-GPU bei 2D-Tests. Bestimmte 2D-Games sind bei mir daher unspielbar langsam, auch wenn sie locker flüssig laufen sollten.
Das Problem ist entweder ein fehlerhaftes Mainboard (Chipsatz) oder (was ich mehr glaube) mein Gehäuse lädt sich elektrisch auf und das Board, etc. läuft mit zu hoher Spannung - hab schon Stromschläge von meinem Gehäuse bekommen
Auch "gefriert" mein PC meist beim ersten Start ein und kann nur durch komplettes auschalten und anschalten wieder gestartet werden. Er muss praktisch erst eine gewisse Zeit warmlaufen. Win2k gefriert zum Beispiel schon immer beim starten, weshalb mir nur win98 zur nutzung übrig bleibt.
Ich hoffe daher einfach mal, dass ich mir bald einen neuen PC leisten kann
Vielleicht noch dieses Jahr  _________________ Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
 |
|
Nach oben |
|
 |
cbarkey Mini JLI'ler
Alter: 40 Anmeldedatum: 10.06.2005 Beiträge: 6 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 10.06.2005, 15:41 Titel: |
|
|
Erstmal "HALLO", bin neu hier!!
Bei mir kann der den JLI Fighter gar nicht erst kompilieren, da kommen so 49 Fehler! kA jetzt welche..... _________________ cYa |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 10.06.2005, 15:56 Titel: |
|
|
Hi und herzlich Wilkommen im JLI!
Also das Prob liegt wahrscheinlich auf den ersten Blick an ner fehlenden Header; also eine .h die du vergessen hast zu includen. Poste mal die Fehler, dann haben wir mehr Anhaltspunkte
Gruß DirectXer |
|
Nach oben |
|
 |
cbarkey Mini JLI'ler
Alter: 40 Anmeldedatum: 10.06.2005 Beiträge: 6 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 11.06.2005, 16:48 Titel: |
|
|
Kompilierung läuft...
InputManager.cpp
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_lpDI'
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2501: 'LPDIRECTINPUT8' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2501: 'm_lpDI' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_lpDIDevice'
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2501: 'LPDIRECTINPUTDEVICE8' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2501: 'm_lpDIDevice' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(10) : error C2065: 'm_lpDI' : nichtdeklarierter Bezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(11) : error C2065: 'm_lpDIDevice' : nichtdeklarierter Bezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(19) : error C2227: Der linke Teil von '->Unacquire' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(20) : error C2227: Der linke Teil von '->Release' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(27) : error C2227: Der linke Teil von '->Release' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(39) : error C2065: 'DirectInput8Create' : nichtdeklarierter Bezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(39) : error C2065: 'IID_IDirectInput8' : nichtdeklarierter Bezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(8 : error C2227: Der linke Teil von '->GetDeviceState' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(93) : error C2227: Der linke Teil von '->Acquire' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(166) : error C2227: Der linke Teil von '->Poll' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(169) : error C2227: Der linke Teil von '->Acquire' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(174) : error C2227: Der linke Teil von '->GetDeviceState' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(218) : error C2227: Der linke Teil von '->GetDeviceData' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(223) : error C2227: Der linke Teil von '->Acquire' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(268) : error C2227: Der linke Teil von '->CreateDevice' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(275) : error C2227: Der linke Teil von '->SetDataFormat' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(283) : error C2227: Der linke Teil von '->SetCooperativeLevel' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(290) : error C2227: Der linke Teil von '->Acquire' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(299) : error C2227: Der linke Teil von '->CreateDevice' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(306) : error C2227: Der linke Teil von '->SetDataFormat' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(314) : error C2227: Der linke Teil von '->SetCooperativeLevel' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(331) : error C2227: Der linke Teil von '->SetProperty' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(334) : error C2227: Der linke Teil von '->Acquire' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(343) : error C2227: Der linke Teil von '->EnumDevices' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(343) : error C2065: 'DI8DEVCLASS_GAMECTRL' : nichtdeklarierter Bezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(350) : error C2227: Der linke Teil von '->CreateDevice' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(357) : error C2227: Der linke Teil von '->SetDataFormat' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(366) : error C2227: Der linke Teil von '->SetCooperativeLevel' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(385) : error C2227: Der linke Teil von '->SetProperty' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(394) : error C2227: Der linke Teil von '->SetProperty' muss auf Klasse/Struktur/Union zeigen
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.cpp(401) : error C2227: Der linke Teil von '->Acquire' muss auf Klasse/Struktur/Union zeigen
main.cpp
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_lpDI'
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2501: 'LPDIRECTINPUT8' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2501: 'm_lpDI' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_lpDIDevice'
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2501: 'LPDIRECTINPUTDEVICE8' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2501: 'm_lpDIDevice' : Fehlende Speicherklasse oder Typbezeichner
Sprite.cpp
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_lpDI'
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2501: 'LPDIRECTINPUT8' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(44) : error C2501: 'm_lpDI' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_lpDIDevice'
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2501: 'LPDIRECTINPUTDEVICE8' : Fehlende Speicherklasse oder Typbezeichner
c:\programme\jli beispiele\kapitel_25\jli_fighter\inputmanager.h(47) : error C2501: 'm_lpDIDevice' : Fehlende Speicherklasse oder Typbezeichner
Fehler beim Ausführen von cl.exe.
JLI_FIGHTER.exe - 49 Fehler, 0 Warnung(en) _________________ cYa |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 11.06.2005, 17:22 Titel: |
|
|
CPP: | #define DIRECTINPUT_VERSION 0x0800
#include <dinput.h>
#pragma comment(lib, "dinput8.lib")
#pragma comment(lib, "dxguid.lib")
|
Das riech ich 20km gegen den Wind  _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 11.06.2005, 21:13 Titel: |
|
|
wie ich gesagt hatte...  |
|
Nach oben |
|
 |
HomeLess_PunkDrummer JLI Master Trainee

Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 13.06.2005, 15:30 Titel: |
|
|
Hmm, ich habe keeeeine Ahnung, worans liegen könnte...
Tausch doch mal zufällig ein Zeichen aus, zum Beispiel in d3d8.lib die '8' gegen '9'...
edit: UÄÄÄH. War Mist was ich geschrieben hatte. Sorry  _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Zuletzt bearbeitet von HomeLess_PunkDrummer am 15.06.2005, 07:37, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
cbarkey Mini JLI'ler
Alter: 40 Anmeldedatum: 10.06.2005 Beiträge: 6 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 13.06.2005, 16:49 Titel: |
|
|
@Patrick: welche cpp?? _________________ cYa |
|
Nach oben |
|
 |
|