Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
josef.klupfer
Anmeldungsdatum: 11.04.2008 Beiträge: 5
|
Verfasst am: 11.04.2008, 11:39 Titel: SCREEN unter Win 2000 extrem langsam??? |
|
|
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 |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 11.04.2008, 19:09 Titel: |
|
|
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 |
|
 |
josef.klupfer
Anmeldungsdatum: 11.04.2008 Beiträge: 5
|
Verfasst am: 12.04.2008, 10:38 Titel: |
|
|
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 |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 12.04.2008, 12:20 Titel: |
|
|
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 |
|
 |
josef.klupfer
Anmeldungsdatum: 11.04.2008 Beiträge: 5
|
Verfasst am: 13.04.2008, 09:40 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.04.2008, 09:59 Titel: |
|
|
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 |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 13.04.2008, 11:22 Titel: |
|
|
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 |
|
 |
josef.klupfer
Anmeldungsdatum: 11.04.2008 Beiträge: 5
|
Verfasst am: 14.04.2008, 09:46 Titel: |
|
|
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 |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 14.04.2008, 11:04 Titel: |
|
|
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 |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 14.04.2008, 11:10 Titel: |
|
|
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
zur 100%igen CPU-Auslastung. Mit diesem "Mammutprogramm" müsste selbst eine Onboard-Grafikkarte spielend zurechtkommen.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 14.04.2008, 11:20 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 14.04.2008, 12:54 Titel: |
|
|
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 |
|
 |
Klößchn 1x verwarnt

Anmeldungsdatum: 22.03.2008 Beiträge: 77 Wohnort: Donauwörth
|
Verfasst am: 14.04.2008, 13:15 Titel: |
|
|
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 |
|
 |
josef.klupfer
Anmeldungsdatum: 11.04.2008 Beiträge: 5
|
Verfasst am: 16.04.2008, 07:24 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.04.2008, 13:55 Titel: |
|
|
Installier mal ein aktuelles DirectX...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|