Bluescreen bei SDL Spiel
-
So ein Minimalprogramm sollte eigentlich nicht abstuerzen duerfen. Schon gar nicht mit einem BSOD. Verwendest du nicht die aktuelleste SDL-Version? Funktioniert das Spiel auf einem WinXP-Rechner? Sind die beiden Vista-Rechner auf den neuesten Stand? (Service-Packs, Treiber, ...)
-
Ist es zufaellig ein 64bit vista?
-
also es ist ein 32Bit Vista auf dem neusten Stand(incl. ServicePack),
neuste Sdl version wird auch verwendet und nen Xp-Pc hab ich gerade nicht in reichweite,Bericht wird aber bald folgen.
Danke für die Tipps bei diesem doch sehr aussichtslosen Thema.
-
Also ich würde jetzt auch einfach mal anderen Compiler ausprobieren. Und dann eventuell neuinstallation.
-
also mit visual studio 2005 hab ichs auch probiert,gleiches Problem,
meinst du mit der neuinstallation die sdl oder das ganze system??
-
Hmm.. Ich würde jetzt einfach mal bei einem Freund schauen, der etwa das gleiche System hat. Und mal dort kompilieren.
Oder mal von klein zu gross. Also SDL zuerst, dann VS, und erst dann System..
-
(Sorry wenn ich den Beitrag wieder raufhole, aber deine Frage scheint noch nicht beantwortet zu sein)
Ich hab selber lange mit SDL gearbeitet (auf Windows XP, DevC++) und hatte damit nie Probleme. Beim Versuch, die Programme auf Windows Vista auszuführen, kam jedoch ebenfalls immer ein Bluescreen, der den Neustart des Computers erforderte. Ein Bekannter von mir, der meine Programme auf Vista ausprobierte, hatte das gleiche Problem.
Deshalb vermute ich, es liegt nicht an deinem Code, sondern SDL ist möglicherweise nicht (oder nicht immer) kompatibel mit Windows Vista. Ich selber bin inzwischen auf SFML (VC++) umgestiegen, da ich mit SDL auch an die Grenzen der Performance gelangt bin. Mit SFML geht (zumindest bis jetzt) alles gut, es läuft auch auf anderen Betriebssystemen.
Falls du dich um keinen Preis von SDL abwenden willst, schlage ich ebenfalls vor, auf die neueste Version zu überprüfen und dich eventuell im Internet zu erkundigen, ob es dies ein häufiges Problem darstellt und eventuelle Lösungsansätze dazu vorhanden sind.
-
Oder es liegt einfach daran, dass du versuchts ein Fenster mit den Maßen 200*200 im Vollbild anzeigen zu lassen, was nicht möglich ist.
-
Wobei es da wahrscheinlicher ist, dass entweder eine andere Auflösung eingestellt wird oder auf den Vollbildmodus verzichtet wird, oder - wenn das Programm nicht ausführbar ist - zumindest eine Fehlermeldung kommt...
Bluescreen wäre wohl etwas übertrieben
Versuchs doch einfach mal ohne Fullscreen.
Edit: Ich glaube zwar nicht, dass es an dem liegt, aber ich hab bei deinem Code gerade noch was festgestellt - mach doch eine Oberfläche, in der du das Fenster erstellst:
SDL_Surface *Screen; Screen = SDL_SetVideoMode (200, 200, 16,SDL_HWSURFACE | SDL_DOUBLEBUF); // ohne Fullscreen // ... SDL_FreeSurface(Screen); // um dynamisch allokierten Speicher freizugeben
-
also fullscreen hab ich ganz als erstes ausgestellt.
aber die schilderung von nexus scheint ganz passend ich mach mich mal auf die suche.
(gut das ich nicht der einzige bin)