Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

SCREEN unter Win 2000 extrem langsam???

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
josef.klupfer



Anmeldungsdatum: 11.04.2008
Beiträge: 5

BeitragVerfasst am: 11.04.2008, 11:39    Titel: SCREEN unter Win 2000 extrem langsam??? Antworten mit Zitat

Hallo

kennt jemand das Problem oder hat nen Tipp für mich.

Mein "Programm" sieht so aus:

Screen 13 'oder auch nen anderen mit Parametern etc
Sleep ' oder Input a oder so

Unter Win Xp auf dem PC braucht das Programm kaum CPU. Lass ich es auf dem Laptop laufen (wo auch das neuste FBI.de mit Compiler installiert ist), so braucht es 95% CPU. Ich kompiliere mit dem Parameter -s gui. Nur wenn ich ausschließlich im Konsolenfenster bin ist der CPU Bedarf okay. Sobald ich unter Win. 2000 auf dem Laptop mit Screen... arbeite, braucht das Programm fast alles an CPu und der schwarze Hintergrund flackert. Bzw der Mauscursor wenn man darüber fährt. Bei XP ist das nicht so. Was könnt denn das sein??

Danke schon mal viele Grüße Josef.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 11.04.2008, 16:15    Titel: Antworten mit Zitat

Nimm Linux... grinsen

Hier steht was dazu:-> http://forum.qbasic.at/viewtopic.php?p=35337#35337
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 11.04.2008, 19:09    Titel: Antworten mit Zitat

Hi josef.klupfer,
der Verweis von Elektronix ist für ein Problem von QuickBasic unter W2K und so, glaube ich, nicht auf Freebasic anwendbar.
Normalerweise taucht das Problem der hohen CPU-Last auf wenn man in Schleifen kein sleep 1 (1ms Pause um Hintergrundprogrammen Gelegenheit zur Abarbeitung ihrer Routinen zu geben) einbaut.
Etwas stutzig machte mich
josef.klupfer hat Folgendes geschrieben:
wo auch das neuste FBI.de mit Compiler installiert ist
schau mal welche FB-Version du da betreibst.
Leider kursieren immer noch uralte Pakete von FBIDE+Compiler im Internet.
Unter http://www.freebasic-portal.de/ findest du die neuste Version FB 0.18.4.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
josef.klupfer



Anmeldungsdatum: 11.04.2008
Beiträge: 5

BeitragVerfasst am: 12.04.2008, 10:38    Titel: Antworten mit Zitat

Hallo Elektronix, Hallo Volta,

danke für die Tipps, hat leider beides nix geholfen. Hab FB deinstalliert, dann nur den neusten Compiler (war 0.18 statt wie bei mir 0.15) und dann erst das FBIde ohne Compiler drüberinstralliert. Pfad war auch richtig, aber selbes Problem. Nur dass die neue Version die Interrupts nicht nimmt. Programm

screen 18
print "hallo"
sleep ' oder input a oder so, also keine endlosschleife o. ä.

Fazit 90% cpu Auslastung, bei screen 19 sogar noch mehr. Der Mauszeiger auf dem schwarzen Hintergrund flackert wie wild. Hab mal mit der Option -s gui und auch ohne versucht. Leider hilfts nix....

Liegt das dann an Win 2000 oder FB?

Liebe Grüße, Josef.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 12.04.2008, 12:20    Titel: Antworten mit Zitat

Hallo,

ich nutze FreeBasic unter Windows 2000 und das funktioniert bei mir tadellos. Die Version 0.15 würde ich jedoch schon als antiquarisch bezeichnen. Bei FreeBasic ändert sich von Version zu Version viel! Man sollte also immer die neuste Version (im Moment 0.18.4!!) verwenden. Auf FreeBasic-Portal.de findest du alle FB-Tools in der jeweils aktuellsten Version. Wenn auf dem Laptop trotz aktuellster FB-Version das Problem zu hoher CPU-Auslastung auftritt, poste mal im fb:porticula NoPaste System des FreeBasic-Portals (http://www.freebasic-portal.de/index.php?s=fbporticula) oder hier im Forum den Quelltext. Vielleicht handelt es sich dann um einen Bug, der nur unter bestimmten Voraussetzungen (z.B. OnBoard-GraKa + Win2000 oder so) auftritt. Das kann man ohne den Quelltext aber nicht eindeutig klären. Ich könnte dir anbieten, das Programm mal unter Win 2000 SP4 auf einem stationären PC zu testen, ob das Problem auch da auftritt oder ob es am Laptop liegt.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
josef.klupfer



Anmeldungsdatum: 11.04.2008
Beiträge: 5

BeitragVerfasst am: 13.04.2008, 09:40    Titel: Antworten mit Zitat

Hallo Sebastian,

danke für deine Hilfe. Also der Quelltext ist wirklich nur die 2 Zeilen:

screen 19
sleep

Oder halt alternativ mit
dim a as integer
input a

Also keine Endlosschleife o. ä. Hab Win 2000 Prof, SP 3, Pentium 3, 1GHz, onboard Grafikkarte, Soundkarte, etc. FB ist mittlerweilen die neuste Version 0.18.4b, habs gestern erst runtergeladen von http://www.freebasic-portal.de. Ist im Fenstermode genauso wie im Vollbildmodus. Auf meinem PC mit XP läufts normal, also ohne CPU Auslastung. Aber halt am Laptop. Compiliere mit der Option -s gui, damit die Konsole weg ist, aber ohne der Option ist es das gleiche.

Bin echt ratlos, weils ja eigentlich funktioniert, nur halt am Laptop nicht.

Danke schon mal für jeden Tipp, Gruss, Josef.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.04.2008, 09:59    Titel: Antworten mit Zitat

Hast du die passenden Grafikkartentreiber installiert? Ohne Hardwarebeschleunigung könnte das in der Tat langsam sein...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.04.2008, 11:22    Titel: Antworten mit Zitat

Hallo,

probier mal das folgende Programm auf dem Laptop aus:
Code:
DIM AS INTEGER w, h, depth, refresh
DIM driver AS STRING

SCREEN 0
SCREENINFO w, h, depth
PRINT "Desktopauflösung: " + STR(w) + "x" + STR(h) + "x" + STR(depth)

SCREEN 19, 32
SCREENINFO w, h, depth, , , refresh, driver

PRINT STR(w) + "x" + STR(h) + "x" + STR(depth);
IF (refresh > 0) THEN
   PRINT " @ " + STR(refresh) + " Hz";
END IF
PRINT " unter Verwendung des Treibers " + driver
SLEEP

Da wäre es interessant zu wissen, was da ausgegeben wird - insbesondere die Treiberangabe.
(Quelle: http://www.freebasic-portal.de/index.php?s=reftopic&id=368)

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
josef.klupfer



Anmeldungsdatum: 11.04.2008
Beiträge: 5

BeitragVerfasst am: 14.04.2008, 09:46    Titel: Antworten mit Zitat

HI, hab das Programm grad am Laptop gestartet es kommt folgende Ausgabe bei 100% Cpu.

Consolenfenster:
Desktopauflösung: 1024x768x32

Grafikfenster:
800x600x32 @ 75 Hz unter Verwendung des Treibers DirectX

Wenn nur ein kleiner TEil des Fenster zu sehen ist, der Rest ausserhalb des bildschrimbereichs liegt, dann sinkt die CPU Belastung auf bis zu unter 10% ab. Je mehr vom Fenster am Bildschirm liegt, desto höher die Auslastung.

Habt ihr ne Idee, ist es die Grafikkarte bzw. der Treiber?

Danke und viele Grüße, Josef.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 14.04.2008, 11:04    Titel: Antworten mit Zitat

josef.klupfer hat Folgendes geschrieben:

Wenn nur ein kleiner Teil des Fenster zu sehen ist, der Rest ausserhalb des bildschrimbereichs liegt, dann sinkt die CPU Belastung auf bis zu unter 10% ab. Je mehr vom Fenster am Bildschirm liegt, desto höher die Auslastung.

Habt ihr ne Idee, ist es die Grafikkarte bzw. der Treiber?

Danke und viele Grüße, Josef.
Vermutlich beides. Einige Graphikkarten haben einen integrierten Controller, der für die Bildaufbereitung zuständig ist. Bei anderen (billigeren und langsameren) Karten macht das die CPU, die Bilddaten werden dann auf der Karte nur gespeichert, für Änderungen muß immer die CPU herhalten. Windows legt die Grafiken immer nur im Speicher der GraKa ab und ändert nur das, was wirklich geändert wird. Bei manchen anderen Fällen wird aber immer das gesamte Bild neu aufgebaut (vielleicht auch bei Deinem Prog). Das belastet den Hauptprozessor natürlich viel stärker.
Solche einfacheren Karten werden meist in Notebooks verbaut, weil sie weniger Leistung verbrauchen, und weil man damit rechnet, daß Notebooks nicht für grafikaufwendige Spiele mißbraucht werden.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 14.04.2008, 11:10    Titel: Antworten mit Zitat

Elektronix hat Folgendes geschrieben:
Bei manchen anderen Fällen wird aber immer das gesamte Bild neu aufgebaut (vielleicht auch bei Deinem Prog). Das belastet den Hauptprozessor natürlich viel stärker.
Solche einfacheren Karten werden meist in Notebooks verbaut, weil sie weniger Leistung verbrauchen, und weil man damit rechnet, daß Notebooks nicht für grafikaufwendige Spiele mißbraucht werden.

Laut Fragesteller genügt bereits
Code:
screen 19
sleep

zur 100%igen CPU-Auslastung. Mit diesem "Mammutprogramm" müsste selbst eine Onboard-Grafikkarte spielend zurechtkommen. verwundert
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 14.04.2008, 11:20    Titel: Antworten mit Zitat

Nach der letzten Frage ist die Auslastung von der Fenstergröße abhängig. Was an sleep so schwierig ist, weiß ich allerdings auch nicht.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

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

Zitat:
Was an sleep so schwierig ist, weiß ich allerdings auch nicht.

na, wenn das fenster ständig neu gepainted wird, ist es ja egal, wie komplex dein programm ist. ich würde vorschlagen, mal im englischen forum nachzufragen oder ein ticket im bugtracker zu eröffnen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Klößchn
1x verwarnt


Anmeldungsdatum: 22.03.2008
Beiträge: 77
Wohnort: Donauwörth

BeitragVerfasst am: 14.04.2008, 13:15    Titel: Antworten mit Zitat

Probier mal die OpenGL-Beispiele unter libraries/gl aus, mich würde interessieren, wie da die Last ist... und wie "gut" die Standardbildschirmschoner von Windows laufen, sowie was die Testergebnisse von "dxdiag" (Start=>Ausführen=>dxdiag=>ok") sind (im Tab Grafik oder so)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
josef.klupfer



Anmeldungsdatum: 11.04.2008
Beiträge: 5

BeitragVerfasst am: 16.04.2008, 07:24    Titel: Antworten mit Zitat

Hallo

so hab jetzt endlich wieder Zeit gehabt zum Testen. Also OpenGL läuft besser. Die Fenstergröße im Vgl. zu einem Fenster, das mit screenres erzeugt wurde ist nur ca. gut die Hälfte. Hab das Beispiel glfw_splittview genommen, weil sich da nix dreht oder so.

Wenn ich dxdiag starte hab ich folgende Daten im Register Anzeige:
S3 Graphics Inc. Savage
Chiptyp S3 Savage / MX
Gesamtspeicher 8 MB
DX Version ist 5.12.x
Beschleunigungen sind alle drei aktiviert

Kanns an dem liegen, greift ein normales einfaches Screen 18 oder so auf DX zurück?

Danke, Gruss, Josef.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 16.04.2008, 13:55    Titel: Antworten mit Zitat

Installier mal ein aktuelles DirectX... durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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.

 Impressum :: Datenschutz