Text in Blitz+ 10x langsamer als B3D
Übersicht BlitzBasic BlitzPlus
ozzi789Betreff: Text in Blitz+ 10x langsamer als B3D |
Di, Jan 10, 2012 11:03 Antworten mit Zitat |
|
---|---|---|
Guten Morgen Community,
Ich habe gerade etwas interessantes entdeckt, was zumindest für mich neu ist... Folgender Code: BlitzBasic: [AUSKLAPPEN] Graphics 800,600,32,2 Hat auf meinem PC, ohne Debugger genau 451 ms. Fast eine halbe Sekunde! Während wenn ich den selben Code mit B3D ausführe gerade mal 41 ms brauche. Wieso ist Text 10x schneller in B3D ? Gibt es eine Alternative für B+? Danke für eure Hilfe! Es grüsst, ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Midimaster |
Di, Jan 10, 2012 11:35 Antworten mit Zitat |
|
---|---|---|
beide Ergebnisse klingen unwahrscheinlich. Selbst bei meinem Uralt-Notebook braucht das Programm nur 13msec in B3D. Allerdings unter BMax 22msec! | ||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
ozzi789 |
Di, Jan 10, 2012 11:39 Antworten mit Zitat |
|
---|---|---|
(Bei B3D schwanken die Ergebnisse zwischen 14 - 30 ms.) Trotzdem ein grosser Unterschied nicht? |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
BladeRunnerModerator |
Di, Jan 10, 2012 11:50 Antworten mit Zitat |
|
---|---|---|
Um den Test fairer zu machen, gib der App Glegenheit sich vollständig zu initialisieren, sprich: Lass erstmal nen Text ausgeben und dann erst starte die Messung. Es kann sein dass die ersten Vorbereitungen einfach mehr Zeit verschlingen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
ozzi789 |
Di, Jan 10, 2012 11:55 Antworten mit Zitat |
|
---|---|---|
Gute Idee eigentlich, aber selbiges Ergebniss..
Habe folgenden Code verwendet: Code: [AUSKLAPPEN] Graphics 800,600,32,2
SetBuffer BackBuffer() Text 0,0,"Initialisiere..." Flip Delay (100) Cls While x>100 x=x+1 Wend a#=MilliSecs() For x=1 To 40 For y=1 To 30 Text x*20,y*20,"A" Next Next e#=MilliSecs() Flip RuntimeError e#-a# Hier für alle mal den oben aufgeführten Code compiliert , ohne Debugger 1x B+ & 1x B3D. http://www.file-upload.net/dow...t.zip.html Wäre froh wenn jemand die Ergebnisse beider Echsen posten könnte |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Jan_Ehemaliger Admin |
Di, Jan 10, 2012 12:01 Antworten mit Zitat |
|
---|---|---|
900 zu 40
was soweit auch klar ist. Die emulation von DirectX 5.1, welches für B+ größtenteils verwendet wird, ist sehr langsam. mit B+ kann man unter Windows NT 4.0 Programmieren. unter Windows 7ben ist das natürlich nur noch emuliert und dadurch extrem langsam. Setzte einfach mal den OpenGL treiber ein und schaue, ob es dann schneller ist. |
||
between angels and insects |
ozzi789 |
Di, Jan 10, 2012 12:11 Antworten mit Zitat |
|
---|---|---|
Mittels SetGfxDriver 2
13.0 Millisekunden Jedoch crasht die Exe nach dem Beenden der Exe wenn ich den OGL Modus einschalte. (Hahah ich wusste nicht das B+ DirectX 5.1 verwendet, wow!) Das Interessante ist jedoch, das die Performanceeinbussen nur mit Text auftauchen, soweit ich das getestet habe! Kann mir jemand erklären was der Unterschied zwischen Native und DirectDraw sein soll? Ich bin verwirrt |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
- Zuletzt bearbeitet von ozzi789 am Di, Jan 10, 2012 12:21, insgesamt einmal bearbeitet
ozzi789 |
Di, Jan 10, 2012 12:14 Antworten mit Zitat |
|
---|---|---|
Ok,
native:21 ogl: 13 directdraw: 5106 (merkwürdig, plötzlich geht da nichts mehr, mein armes Windows ) |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Jan_Ehemaliger Admin |
Di, Jan 10, 2012 14:46 Antworten mit Zitat |
|
---|---|---|
schuldigung, DX5 ist sogar falsch gewesen, Direct draw, wars und das ist seit DX 3.X unverändert. und voll Out of State.
Ich glaube, das geschw. Problem ist das er versucht die schriften zu weichen oder probleme mit den Fonts hat, Native macht einfach selber die Zeichenoperationen auf das Canvas. |
||
between angels and insects |
ozzi789 |
Di, Jan 10, 2012 14:53 Antworten mit Zitat |
|
---|---|---|
Danke für die Aufklärung, Native, so soll es sein | ||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
ZEVS |
Di, Jan 10, 2012 17:58 Antworten mit Zitat |
|
---|---|---|
@Topic:
https://www.blitzforum.de/foru...hp?t=37568. Das Text-Komando hat unter B+ Anti-Alias und ist 3-6mal so langsam wie DrawImage (einfach den Text vorrendern). Zitat: Jedoch crasht die Exe nach dem Beenden der Exe wenn ich den OGL Modus einschalte.
Ist mir auch mal passiert. hazumu-kun hat Folgendes geschrieben: Beim OpenGL Treiber musst du das Programm eventuell über die API Funktion exitprocess beenden damit die Fehlermeldung nicht kommt.
Decls: Code: [AUSKLAPPEN] .lib "kernel32.dll" api_ExitProcess (uExitCode%) : "ExitProcess" Im Code dann mit "api_ExitProcess" aufrufen. (Link) ZEVS |
||
ozzi789 |
Di, Jan 10, 2012 18:13 Antworten mit Zitat |
|
---|---|---|
Hi ZEVS
Text vorrendern werde ich für konstante Strings einbauen! Danke für den Tipp mit ExitProcess (der war mir auch schon mal nützlich https://www.blitzforum.de/foru...ong+thread) , funktioniert perfekt, somit kann man OGL ohne Crash verwenden. Danke viel mals! |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
hazumu-kun |
Mi, Jan 11, 2012 9:51 Antworten mit Zitat |
|
---|---|---|
Ich fühl mich geehrt hier aus anderen Threads zitiert zu werden!
Aber komischerweise muss man das Programm mit OpenGL per ExitProcess beenden. Ich weiß nicht inwiefern Blitz nach einem END oder dem Codeende noch Aufräumarbeiten durchführt, aber anscheinend ist ein ExitProcess sauberer als das was Blitz mit einem OpenGL Kontext anstellt/anzustellen versucht. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
Übersicht BlitzBasic BlitzPlus
Powered by phpBB © 2001 - 2006, phpBB Group