Probleme mit Doubles

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Helle
Beiträge: 566
Registriert: 11.11.2004 16:13
Wohnort: Magdeburg

Re: Probleme mit Doubles

Beitrag von Helle »

Thomas, nun sag doch mal, wo Deine 32-Bit-Werte herkommen :mrgreen: !
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit Doubles

Beitrag von ts-soft »

Hab nur die 32-Bit Version des PB-Compilers genutzt. Der Rest ist gleich.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Re: Probleme mit Doubles

Beitrag von sharkpeter »

Hallo,

.f und .d Ungenauigkeiten, wer kennt die nicht. Ist halt systemisch bedingt.

@Helle,

mal eine Frage, ich war nämlich gerade über mein Ergebnis enttäuscht bei dem Test von dir,
mein I7 mit Win64 spuckte da rund 12000 ms aus, egal ob mit 32 oder 64 Bit PB.

Was spielt für den Test alles eine Rolle, oder ist die tatsächliche Zeit eher Nebensache.

Ein Test mit einem P4 mit 32 Bit XP brachte rund 29000 ms (nur 32 Bit). Ein weiterer Test
auf einem 2Core2Duo mit 32 Bit Windows 8 ebenfalls wie beim I7 rund 12000 ms.
Zum Schluß noch ein Test auf einem Celeron ( :oops: ) - mit sage und schreibe rund 90000 ms

Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit Doubles

Beitrag von ts-soft »

Ich würde ja den Debugger ausschalten beim solchen Tests :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Re: Probleme mit Doubles

Beitrag von sharkpeter »

Hi Thomas, wo du Recht hast, hast du Recht :D Auf die Idee bin ich zwischenzeitlich
auch schon gekommen, und da ist es dann nicht mehr Besorgniseregend :D

1653 - 1076 - 1077 - 1638 ms (I7-32)
1685 - 1107 - 1107 - 1685 ms (I7-64)

1359 - 797 - 812 - 1343 ms (2C2D-32)

Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Benutzeravatar
captain_hesse
Beiträge: 138
Registriert: 17.05.2009 18:55
Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Wohnort: Saarland

Re: Probleme mit Doubles

Beitrag von captain_hesse »

Nun dann stelle ich mir aber die Frage, wenn man das weiß warum ändert man dann nicht einfach die Funktion OpenWindowedScreen() in der 32 bit Version so das die Genauigkeit automatisch wieder auf den richtigen Stand gebracht wird nachdem sie aufgerufen wurde. Denn ich denke was Helle hier geschrieben hat ist nicht gerade trivial und der Eine oder Andere hier wird sich sicherlich auch schon mal gefagt haben warum seine Berechnungen ein anderes Ergebnis lieferten als erwartet.
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit Doubles

Beitrag von ts-soft »

Warum sollte man es ändern? Ist doch ein geiles Feature, auf einem Screen kommt es doch auf Geschwindigkeit drauf an und
nicht auf Rechengenauigkeit. Das ganze ist ja kein Bug oder Fehler, das ist bewußt so gemacht worden und wurde auch von
MS entsprechend dokumentiert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
captain_hesse
Beiträge: 138
Registriert: 17.05.2009 18:55
Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Wohnort: Saarland

Re: Probleme mit Doubles

Beitrag von captain_hesse »

Da hast du ja recht das es bei den meisten Anwendungen nicht so auf Genauigkeit ankommt aber eben nicht immer und wenn ich den Typ .d verwende dann erwarte ich auch die Genauigkeit vom Typ .d und nicht vom Typ .f man hat ja schließlich schon seine Gründe warum man Doubles verwendet. Da wäre es vieleicht ganz hilfreich wenn es in der PB-Hilfe einen entsprechenden Hinweis darauf geben würde und wie man es ändern kann.
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit Doubles

Beitrag von ts-soft »

captain_hesse hat geschrieben:Da wäre es vieleicht ganz hilfreich wenn es in der PB-Hilfe einen entsprechenden Hinweis darauf geben würde und wie man es ändern kann.
Naja, aber wenn in der Hilfe auf jede solcher selten auftretenden Besonderheiten hingewiesen wird, wird diese sehr schnell
unübersichtlich und somit für Einsteiger unbrauchbar.

Meiner Meinung nach, sind solche Sachen im Forum besser aufgehoben. Mit einer überladenen Hilfe ist auch nicht jedem
gedient.

Sollte man hier vielleicht in die FAQ eintragen, ist nur die Frage, guckt da jemand nach :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Probleme mit Doubles

Beitrag von Danilo »

ts-soft hat geschrieben:Warum sollte man es ändern? Ist doch ein geiles Feature, auf einem Screen kommt es doch auf Geschwindigkeit drauf an und
nicht auf Rechengenauigkeit. Das ganze ist ja kein Bug oder Fehler, das ist bewußt so gemacht worden und wurde auch von
MS entsprechend dokumentiert.
Das ist bei MS dokumentiert, aber bei PB ist das einfach ein Bug. In der Hilfe steht nichts davon, dass
die Rechengenauigkeit für Doubles durch OpenScreen herunter gesetzt wird. Auf Linux und MacOS/X kann
das wieder ganz anders sein, also ist es ein PureBasic-Bug.
Um das zu vermeiden, muß PureBasic auch nur ein Flag bei der DX9-Initialisierung von PB und OGRE hinzufügen,
und schon ist es erledigt. Oder ein Flag bei OpenScreen/OpenWindowedScreen auf Windows hinzufügen.
ts-soft hat geschrieben:Naja, aber wenn in der Hilfe auf jede solcher selten auftretenden Besonderheiten hingewiesen wird, wird diese sehr schnell
unübersichtlich und somit für Einsteiger unbrauchbar.
Sorry Thomas, aber das ist Quatsch! Die Hilfe hat solche Nebeneffekte, wenn schon vorhanden, zu erwähnen.
Wenn OpenScreen() die Genauigkeit von Fliesskommazahlberechnungen von Doubles auf Float reduziert, dann
ist das zu erwähnen... oder eben ein Bug.
Auf Linux und Mac passiert das bestimmt nicht, also kann man nich von einem "geilen Feature" sprechen, sondern
bei PureBasic mit einem Fehler in der Programmierung.
Die Programmierer von PureBasic oder OGRE haben ein wichtiges Flag für DirectX9 vergessen, ganz einfach.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten