Author |
Topic: LBB runs 7 times slower than LB on my GBRL-Sender (Read 1604 times) |
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #23 on: Dec 24th, 2017, 4:10pm » |
|
Please show us the profiler report (you can edit out all the lines that show zero time, to reduce the size).
Richard.
|
|
Logged
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #24 on: Dec 24th, 2017, 6:11pm » |
|
[copy] Start Copy Profiler report for C:\Users\msw10\AppData\Roaming\Liberty BASIC Pro v4.5.1\GRBL-NU5DggmZ10h-lbb.bas
Sun. 24 Dec 2017, 12:48:14
Figures in the first column indicate approximate time in milliseconds spent in each program line.
Figures in the second column indicate approximate percentage of the time spent in each program line.
Time spent profiling: 350.024 seconds.
82: 0.02 '** Liberty BASIC 4.51 pro - 3/14/2017 GCode Sender using GRBL 1.1F Program with simple Graphics 2: dim info$(BrowseLen,BrowseLen) ' folder and file 8: Menu #main, "DROreset", "Reset MPX", [ZX], "Reset MPY", [MZY], "Reset MPZ", [MZZ], "ResetALL", [MZR] 6: Menu #main, "HELP", "Q/A.txt", [HELPx],"LibertyBasic.chm",[HELPchm],"LB-Forum",[HELPforum] 8: Menu #main, "DEBUG","--NA1--",[XBUG1],"--NA2--",[XBUG2],"DLY15/35",[DLY32],"DLY25/45",[DLY48],"DLY55/75",[DLY64],"DLY70/90",[DLY80],"DLY85/105",[DLY96] 2: button #main.params,"$$ Stat", [PARAMS], UL, 5, 400, 45, 20 2: button #main.JZMa,"--",[JZMa],UL,125,549,12,13 ' 2: button #main.JZFg,"--",[JZFg],UL,151,624,14,13 ' 4: texteditor #main.WinStatus, 55,125, 420, 80 ' LBB adjust ' Top left Corner - over, down 2: texteditor #main.GCwindow, 55, 210, 420, 260 ' LBB adjust ' bottom right - width, down 4: bmpbutton #main.EMRRESET, BMPdir$;"estop6.bmp",[ESTOP],UL, 188,575 ' EM STOP / CLOSE 2: button #main.mac6, "Mac6", [mac6], UL, 687, 0, 40, 20 2: button #main.RunGcode, "Run GCode", [RunCode], UL, 940, 25, 62, 20 2: button #main.MZR, "ZR", [MZR], UL, 195, 0, 25, 100 ' 4: texteditor #main.PopUp, 500, 250, 475,350 ' 1124: 0.32 Open "Liberty Basic GRBL GUI" for Window as #main ' 4: #main.Status "setfocus" 'MUST setfocus to graphicbox ' 2: #main.PopUp, "!hide" ' 2: #main.selbox2, "hide" ' hide this box 2: #main.Filebox,"backcolor green" ' 4: #main.yellow,"!font roman 6 10" ' 4: #main.green,"!font roman 6 10" ' 2: #main.yellow,"Folder" ' 2: #main.green,"File" ' 6: #main.JX, str$(JXvar) : #main.JY, str$(JYvar) : #main.JZ, str$(JZvar) 6: #main.JXF, "F";str$(JXFvar) : #main.JYF,"F";str$(JYFvar) : #main.JZF,"F";str$(JZFvar) 2: magnify=1 : #main.Mag1,1 ' show magnifer value 2: plotxy=2 : #main.PLOTa,"TL" ' 2: #main.GCwindow, "TotalScreen Height = "; DisplayHeight ' 2: if len(P$)>0 then #main.Comx, P$ ' 2: if len(BaudRate$)>0 then #main.Baud, BaudRate$ ' 26: 0.01 #main.GCwindow, "Set TIC=";bucketdelay 32504: 9.29 wait ' 2: #main.GCwindow, Xtime$ ' 74: 0.02 #GRBL, "?"; '' Keep semicolen so ok-ok won't display ' approx 100 ms interval '' not sure how semicolen does this 8: #main.Dly1, int((AvgTime/25)+.5) ' 2: comlof=lof(#GRBL) ' lof >1 data is in buffer 12: if comlof>= 1 then GRBLin$ = GRBLin$ + input$(#GRBL,comlof) ' save comm data to GRCLin$ 4: timer 0 ' stop timer until line processed ***** 2: Ze=instr(WIN$,"|",2) : winswitch = 1 ' <Idle|MPos 2: Ze$=mid$(WIN$,2,Ze-2) ' isolate Status 2: call DROWCOUPDATE ' [WCO_Update][MPOS_Update] [WPOS_Update] 2: else ' " <~~~~~~~~~~~~~~~~~~~~~~~> " 62: 0.02 #main.WinStatus, "<";Qcnt;"> ";win$ ' print <~~~~~~~> msg in status window 4: #GRBL, "M5" ' ensure spindle off 34: 0.01 Q=DelayMS(500) ' wait 1/2 second 34: 0.01 Q=DelayMS(500) ' wait 1/2 second 2: close #GRBL ' comm port 36: 0.01 close #main ' main window 31032: 8.87 #main.DROWCx, "!font arial 14" ' 30944: 8.84 #main.DROWCy, "!font arial 14" ' 164: 0.05 #main.DROWCy, WCY ' update WCOy 172: 0.05 #main.DROWCz, WCZ ' update WCOz 31016: 8.86 #main.DROMPx, "!font arial 14" ' 166: 0.05 #main.DROMPx, MPX ' load MPOSx 31102: 8.89 #main.DROMPy, "!font arial 14" ' 166: 0.05 #main.DROMPy, MPY ' load MPOSy 156: 0.04 #main.DROMPz, MPZ ' load MPOSz 31018: 8.86 #main.DROWPx, "!font arial 14" ' 166: 0.05 #main.DROWPx, MPX - WCX ' load WPOSx 31072: 8.88 #main.DROWPy, "!font arial 14" ' 31014: 8.86 #main.DROWPz, "!font arial 14" ' 912: 0.26 while time$("milliseconds") < td ' 18: 0.01 wend ' 31834: 9.09 #main.Status, "font Courier_New ";fontsize$ ' 126: 0.04 #main.Status, "cls" ' clr graphics box 94: 0.03 #main.Status, "fill ";color$ ' fill yellow 16: #main.Status, "backcolor ";color$ ' text background 4: #main.Status, "place " l$;" " d$ ' from top left over-> own 346: 0.10 #main.Status, "\" ata$ ' print data 54: 0.02 #main.GCwindow, "CommPort <" ;"> checked at ";time$() ' 94: 0.03 open "Com";str$(p);":115200,n,8,1" for random as #com ' use this for LBB 4: close #com ' 2: [trap] ' 2: #main.Baudrate, "!" ' clr listbox 'BaudRate$ 8: open P$;":";BaudRate$;",n,8,1" for random as #GRBL ' LBB 2: #main.Baudrate, "!";BaudRate$ ' combo select box 2: #main.Comx, P$ ' testbox 2: #main.Baud, BaudRate$ ' test box 2: #main.GCwindow, P$;" WAS / IS OPEN " ' 4: #GRBL, CTLx$ ' 4: #GRBL, "$$" ' request params 276: 0.08 wait ' 2: #main.GCwindow, "GcodeDir$ = ";GcodeDir$ ' 4: #main.GCwindow, "BMPdir$ = ";BMPdir$ ' 2: #main.GCwindow, "EditPath$ = ";EditPath$ ' 2: #main.GCwindow, "GUI-1Line-[Mac";x;"] = "; Macro$(x) ' 8: #main.GCwindow, "<";x;"> ";MP1$(x) ' 2: #main.GCwindow, "<";x;"> ";MP2$(x) ' 4: #main.GCwindow, "<";x;"> ";MP3$(x) ' 2: #main.GCwindow, "<";x;"> ";MP4$(x) ' 2: StatusDly=55 : wait ' approx 64 392: 0.11 Calldll #user32, "ScreenToClient",_ 758: 0.22 (Unaccounted for) Finish Copy
[/code]
|
| « Last Edit: Dec 24th, 2017, 6:15pm by xtal » |
Logged
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #25 on: Dec 24th, 2017, 6:17pm » |
|
Ran LBB on older laptop with WinXP and it also has the big delays
|
|
Logged
|
|
|
|
tsh73
Full Member
member is offline


Gender: 
Posts: 210
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #26 on: Dec 24th, 2017, 8:19pm » |
|
Hello xtal Looking to profiler report - long time is spent changing fonts. Are you by chance changing font in a loop? Is there any reason to change font at all - not to set it right after opening window, once and for all?
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #27 on: Dec 24th, 2017, 9:43pm » |
|
on Dec 24th, 2017, 8:19pm, tsh73 wrote:| long time is spent changing fonts |
|
Exactly. As I suggested from the start, the profiler makes the cause of the slowness obvious.
I expect LB 4 checks to see whether the selected font happens to be the same as what was previously selected, and ignores the command if so. LBB doesn't do that, because I had no reason to suspect that anybody would keep selecting the same font repetitively.
All in all, a bit of a wild (Christmas) goose chase!
Richard.
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #28 on: Dec 24th, 2017, 10:10pm » |
|
I noticed I was setting the same font on the DRO, when the profiler was running, I just set the font every time I entered a procedure.
I will remove some of the redundant font settings, and see what happens, but keep in mind that the shortened program was having issues, and it had very little font changes... 
thx all
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #29 on: Dec 24th, 2017, 11:12pm » |
|
on Dec 24th, 2017, 10:10pm, xtal wrote:| keep in mind that the shortened program was having issues |
|
Sort out your coding flaws first: eliminate unnecessary repetitions, set the font just once when the window is created, don't update controls faster than somebody can read the changes etc.
Then, and only then, check whether there are any remaining issues. Until that point I'm not "keeping anything in mind" because as far as I'm concerned there is nothing wrong with LBB.
Richard.
|
|
Logged
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #30 on: Dec 25th, 2017, 01:22am » |
|
Using the full program with fonts usage changed.. If I remark out NOMAINWIN [ie] enable a print window and not using any print cmds
Run program and open Comm port program window selected code runs slow  print window selected code runs fast  program window selected code runs slow etc, etc, etc
|
| « Last Edit: Dec 25th, 2017, 01:23am by xtal » |
Logged
|
|
|
|
Rod
Full Member
member is offline


Gender: 
Posts: 110
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #31 on: Dec 25th, 2017, 07:42am » |
|
So what is the profiler telling us when you run slow and what when you run fast?
|
|
Logged
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #32 on: Dec 25th, 2017, 12:45pm » |
|
Running fast Profile Program terminates after 3rd tic msg
Profiler report for C:\Users\msw10\AppData\Roaming\Liberty BASIC Pro v4.5.1\GRBL-NU5DggmZ10h-lbb-100.bas
Mon. 25 Dec 2017, 07:37:00
Figures in the first column indicate approximate time in milliseconds spent in each program line.
Figures in the second column indicate approximate percentage of the time spent in each program line.
Time spent profiling: 12.726 seconds.
86: 0.68 '** Liberty BASIC 4.51 pro - 3/14/2017 GCode Sender using GRBL 1.1F Program with simple Graphics 8: 0.06 Menu #main, "DROreset", "Reset MPX", [ZX], "Reset MPY", [MZY], "Reset MPZ", [MZZ], "ResetALL", [MZR] 6: 0.05 Menu #main, "HELP", "Q/A.txt", [HELPx],"LibertyBasic.chm",[HELPchm],"LB-Forum",[HELPforum] 2: 0.02 button #main.Pause, "Pause", [PAUSE], UL, 5, 450, 45, 20 2: 0.02 button #main.JZMd,"--",[JZMd],UL,158,549,12,13 ' 6: 0.05 texteditor #main.WinStatus, 55,125, 420, 80 ' LBB adjust ' Top left Corner - over, down 2: 0.02 texteditor #main.GCwindow, 55, 210, 420, 260 ' LBB adjust ' bottom right - width, down 4: 0.03 bmpbutton #main.EMRRESET, BMPdir$;"estop6.bmp",[ESTOP],UL, 188,575 ' EM STOP / CLOSE 2: 0.02 button #main.mac7, "Mac7", [mac7], UL, 728, 0, 40, 20 2: 0.02 button #main.EditGcode, "Edt GCode", [EditCode], UL, 940,104, 62, 20 2: 0.02 textbox #main.DROMPx, 55, 0, 110, 30 ' Right Justify & TextboxColor$ = "White" 2: 0.02 texteditor #main.PopUp, 500, 250, 475,350 ' 4: 0.03 #main.Status "setfocus" 'MUST setfocus to graphicbox ' 14: 0.11 #main "font ms_sans_serif 8" ' was 10 slightly to big 296: 2.33 #main.Status, "font arial 24" 2: 0.02 #main.DROWCx, "!font arial 14" ' Digital Read Out font size 14 2: 0.02 #main.DROWCy, "!font arial 14" 4: 0.03 #main.DROMPx, "!font arial 14" 2: 0.02 #main.DROMPy, "!font arial 14" 6: 0.05 #main.DROMPz, "!font arial 14" 2: 0.02 #main.DROWPx, "!font arial 14" 2: 0.02 #main.DROWPy, "!font arial 14" 2: 0.02 #main.DROWPz, "!font arial 14" 2: 0.02 #main.green,"!font roman 6 10" ' 2: 0.02 #main.yellow,"Folder" ' 2: 0.02 #main.green,"File" ' 2: 0.02 #main.PopUp, "!hide" ' 2: 0.02 #main.Filebox,"fill green" ' 2: 0.02 #main.JX, str$(JXvar) : #main.JY, str$(JYvar) : #main.JZ, str$(JZvar) 4: 0.03 #main.JXF, "F";str$(JXFvar) : #main.JYF,"F";str$(JYFvar) : #main.JZF,"F";str$(JZFvar) 2: 0.02 magnify=1 : #main.Mag1,1 ' show magnifer value 2: 0.02 if len(P$)>0 then #main.Comx, P$ ' 2: 0.02 if len(BaudRate$)>0 then #main.Baud, BaudRate$ ' 2: 0.02 call GetCommPorts ' scan & load com#'s array 4: 0.03 timer bucketdelay, [ckbuf] ' every 15 ms ckbuf 2: 0.02 #main.GCwindow, Xtime$ ' 116: 0.91 #GRBL, "?"; '' Keep semicolen so ok-ok won't display approx 100 ms interval not sure how semicolen does this 6: 0.05 comlof=lof(#GRBL) ' lof >1 data is in buffer 4: 0.03 timer 0 ' stop timer until line processed ***** 2: 0.02 Ze=instr(WIN$,"|",2) : winswitch = 1 ' <Idle|MPos 4: 0.03 #GRBL, "M5" ' ensure spindle off 26: 0.20 Q=DelayMS(500) ' wait 1/2 second 2: 0.02 #GRBL, CTLx$; ' send soft reset 32: 0.25 Q=DelayMS(500) ' wait 1/2 second 2: 0.02 close #GRBL ' comm port 3564: 28.01 END ' must stop main here 2: 0.02 #main.DROWCx, WCX ' update WCOx 2: 0.02 #main.DROWCy, WCY ' update WCOy 2: 0.02 #main.DROWCz, WCZ ' update WCOz 2: 0.02 #main.DROMPy, MPY ' load MPOSy 2: 0.02 #main.DROMPz, MPZ ' load MPOSz 2: 0.02 #main.DROWPx, MPX - WCX ' load WPOSx 2: 0.02 #main.DROWPy, MPY - WCY ' load WPOSy 2: 0.02 #main.DROWPz, MPZ - WCZ ' load WPOSy 918: 7.21 while time$("milliseconds") < td ' 22: 0.17 wend ' 92: 0.72 open "Com";str$(p);":115200,n,8,1" for random as #com ' use this for LBB 4: 0.03 close #com ' 36: 0.28 #main.CommPort, "reload" ' 2: 0.02 #main.Baudrate, "!" ' clr listbox 'BaudRate$ 2: 0.02 #main.CommPort, "!" ' clr listbox ' $ 8: 0.06 open P$;":";BaudRate$;",n,8,1" for random as #GRBL ' LBB 2: 0.02 #main.CommPort, "!" $ ' combo select box 2: 0.02 #main.Comx, P$ ' testbox 2: 0.02 #main.Baud, BaudRate$ ' test box 2: 0.02 #main.GCwindow, P$;" WAS / IS OPEN " ' 2: 0.02 #GRBL, CTLx$ ' 6: 0.05 #GRBL, "$$" ' request params 2: 0.02 open DefaultDir$;"\GUI-INI.ini" for input as #MAC ' 4: 0.03 #main.GCwindow, "GcodeDir$ = ";GcodeDir$ ' 2: 0.02 #main.GCwindow, "EditPath$ = ";EditPath$ ' 4: 0.03 #main.GCwindow, "GUI-1Line-[Mac";x;"] = "; Macro$(x) ' 8: 0.06 #main.GCwindow, "<";x;"> ";MP1$(x) ' 2: 0.02 #main.GCwindow, "<";x;"> ";MP2$(x) ' 2: 0.02 #main.GCwindow, "<";x;"> ";MP3$(x) ' 2: 0.02 #main.GCwindow, "<";x;"> ";MP4$(x) '
426: 3.35 (Unaccounted for)
|
| « Last Edit: Dec 25th, 2017, 12:49pm by xtal » |
Logged
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #33 on: Dec 25th, 2017, 12:47pm » |
|
Running Slow profile Program terminates after 3rd tic msg
Profiler report for C:\Users\msw10\AppData\Roaming\Liberty BASIC Pro v4.5.1\GRBL-NU5DggmZ10h-lbb-100.bas
Mon. 25 Dec 2017, 07:36:08
Figures in the first column indicate approximate time in milliseconds spent in each program line.
Figures in the second column indicate approximate percentage of the time spent in each program line.
Time spent profiling: 93.978 seconds.
78: 0.08 '** Liberty BASIC 4.51 pro - 3/14/2017 GCode Sender using GRBL 1.1F Program with simple Graphics 8: 0.01 Menu #main, "DROreset", "Reset MPX", [ZX], "Reset MPY", [MZY], "Reset MPZ", [MZZ], "ResetALL", [MZR] 6: 0.01 Menu #main, "HELP", "Q/A.txt", [HELPx],"LibertyBasic.chm",[HELPchm],"LB-Forum",[HELPforum] 2: button #main.JXFe,"--",[JXFe],UL,5,624,14,13 ' - 1 6: 0.01 texteditor #main.WinStatus, 55,125, 420, 80 ' LBB adjust ' Top left Corner - over, down 2: texteditor #main.GCwindow, 55, 210, 420, 260 ' LBB adjust ' bottom right - width, down 2: bmpbutton #main.EMRRESET, BMPdir$;"estop6.bmp",[ESTOP],UL, 188,575 ' EM STOP / CLOSE 2: button #main.rtz, "RTNZERO", [Ret2ZERO], UL, 375, 600, 60, 30 ' 2: button #main.mac10, "MP_1", [macP1], UL, 445, 25, 40, 20 ' "G21G90G0Z-26X-230Y-188" 2: statictext #main.nbrfilename, "#File's",570,70,30,14 ' 2: listbox #main.S2, SB$(),[Prm2],580,125,102,108 ' 2: texteditor #main.PopUp, 500, 250, 475,350 ' 1116: 1.19 Open "Liberty Basic GRBL GUI" for Window as #main ' 6: 0.01 #main.Status "setfocus" 'MUST setfocus to graphicbox ' 12: 0.01 #main "font ms_sans_serif 8" ' was 10 slightly to big 286: 0.30 #main.Status, "font arial 24" 2: #main.DROWCx, "!font arial 14" ' Digital Read Out font size 14 2: #main.DROWCy, "!font arial 14" 2: #main.DROWCz, "!font arial 14" 2: #main.DROMPx, "!font arial 14" 2: #main.DROMPy, "!font arial 14" 6: 0.01 #main.DROMPz, "!font arial 14" 2: #main.DROWPx, "!font arial 14" 2: #main.DROWPy, "!font arial 14" 2: #main.DROWPz, "!font arial 14" 2: #main.green,"!font roman 6 10" ' 2: #main.yellow,"Folder" ' 2: #main.green,"File" ' 2: #main.selbox2, "hide" ' hide this box 2: #main.Filebox,"fill green" ' 2: #main.JX, str$(JXvar) : #main.JY, str$(JYvar) : #main.JZ, str$(JZvar) 4: #main.JXF, "F";str$(JXFvar) : #main.JYF,"F";str$(JYFvar) : #main.JZF,"F";str$(JZFvar) 2: magnify=1 : #main.Mag1,1 ' show magnifer value 2: plotxy=2 : #main.PLOTa,"TL" ' 2: #main.GCwindow, "TotalScreen Height = "; DisplayHeight ' 2: call GetMacros ' load macros from GUI-INI.ini 2: if len(P$)>0 then #main.Comx, P$ ' 2: if len(BaudRate$)>0 then #main.Baud, BaudRate$ ' 6: 0.01 timer bucketdelay, [ckbuf] ' every 15 ms ckbuf 83048: 88.37 wait ' 2: #main.GCwindow, Xtime$ ' 204: 0.22 #GRBL, "?"; '' Keep semicolen so ok-ok won't display approx 100 ms interval not sure how semicolen does this 8: 0.01 lastsent=time$("ms") ' 4: comlof=lof(#GRBL) ' lof >1 data is in buffer 58: 0.06 if comlof>= 1 then GRBLin$ = GRBLin$ + input$(#GRBL,comlof) ' save comm data to GRCLin$ 2: win$=left$(GRBLin$,crlfPos+1) ' extract this line 8: 0.01 timer 0 ' stop timer until line processed ***** 16: 0.02 #main.GCwindow, win$ ' print response in response window 116: 0.12 #main.WinStatus, "<";Qcnt;"> ";win$ ' print <~~~~~~~> msg in status window 4: #GRBL, "M5" ' ensure spindle off 34: 0.04 Q=DelayMS(500) ' wait 1/2 second 2: #GRBL, CTLx$; ' send soft reset 26: 0.03 Q=DelayMS(500) ' wait 1/2 second 2: close #GRBL ' comm port 34: 0.04 close #main ' main window 7028: 7.48 END ' must stop main here 2: #main.DROWCx, WCX ' update WCOx 2: #main.DROWCy, WCY ' update WCOy 2: #main.DROWCz, WCZ ' update WCOz 2: #main.DROMPx, MPX ' load MPOSx 2: #main.DROMPy, MPY ' load MPOSy 2: #main.DROWPx, MPX - WCX ' load WPOSx 2: #main.DROWPy, MPY - WCY ' load WPOSy 2: #main.DROWPz, MPZ - WCZ ' load WPOSy 926: 0.99 while time$("milliseconds") < td ' 12: 0.01 wend ' 2: #main.Status, "fill ";color$ ' fill yellow 8: 0.01 #main.Status, "\" ata$ ' print data 46: 0.05 #main.GCwindow, "CommPort <" ;"> checked at ";time$() ' 104: 0.11 open "Com";str$(p);":115200,n,8,1" for random as #com ' use this for LBB 4: close #com ' 34: 0.04 #main.CommPort, "reload" ' 2: #main.Baudrate, "!" ' clr listbox 'BaudRate$ 2: #main.CommPort, "!" ' clr listbox ' $ 8: 0.01 open P$;":";BaudRate$;",n,8,1" for random as #GRBL ' LBB 2: #main.Baudrate, "!";BaudRate$ ' combo select box 2: #main.CommPort, "!" $ ' combo select box 2: #main.Comx, P$ ' testbox 2: #main.Baud, BaudRate$ ' test box 4: #main.GCwindow, P$;" WAS / IS OPEN " ' 2: #GRBL, CTLx$ ' 4: #GRBL, "$$" ' request params 2: #main.GCwindow, "GcodeDir$ = ";GcodeDir$ ' 2: #main.GCwindow, "EditPath$ = ";EditPath$ ' 2: #main.GCwindow, "GUI-1Line-[Mac";x;"] = "; Macro$(x) ' 6: 0.01 #main.GCwindow, "<";x;"> ";MP1$(x) ' 2: #main.GCwindow, "<";x;"> ";MP2$(x) ' 2: #main.GCwindow, "<";x;"> ";MP3$(x) ' 2: #main.GCwindow, "<";x;"> ";MP4$(x) ' 562: 0.60 (Unaccounted for) ENDEND
|
| « Last Edit: Dec 25th, 2017, 12:50pm by xtal » |
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #34 on: Dec 25th, 2017, 1:32pm » |
|
on Dec 25th, 2017, 12:45pm, xtal wrote: 4: 0.03 timer bucketdelay, [ckbuf] ' every 15 ms ckbuf 2: 0.02 #main.GCwindow, Xtime$ ' |
|
Where has the WAIT statement gone? Have you deleted it from your program so that it runs fast? Or have you deleted it from the profiler report because it reported zero time?
Also, where has the OPEN statement gone? In the so-called 'slow' program it takes about a second to open the #main window but in the 'fast' report the line is missing entirely.
Do you realise that your program won't be working the same as in LB 4 because of item 12 in the Compatibility docs: "Opening a file in BINARY mode does not prevent PRINT outputting a newline (CRLF)"? Your code does open the COM port in binary mode so you probably need to add a semicolon to each PRINT.
Richard.
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #35 on: Dec 25th, 2017, 1:57pm » |
|
2: 0.02 #main.GCwindow, Xtime$
the quit was right after this probably need delay......
-- my edit pgm must have screwed up ? 0: [LoopExit] ' wait for user input 4: 0.03 timer bucketdelay, [ckbuf] ' every 15 ms ckbuf 5510: 43.30 wait ' 0:
could not having enough memory allocated [something like swapspace] be causing this? Just a thought...
|
| « Last Edit: Dec 25th, 2017, 2:00pm by xtal » |
Logged
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #36 on: Dec 25th, 2017, 2:24pm » |
|
corrected FAST profiler
Profiler report for C:\Users\msw10\AppData\Roaming\Liberty BASIC Pro v4.5.1\GRBL-NU5DggmZ10h-lbb-100.bas
Mon. 25 Dec 2017, 07:37:00
Figures in the first column indicate approximate time in milliseconds spent in each program line.
Figures in the second column indicate approximate percentage of the time spent in each program line.
Time spent profiling: 12.726 seconds.
86: 0.68 '** Liberty BASIC 4.51 pro - 3/14/2017 GCode Sender using GRBL 1.1F Program with simple Graphics 8: 0.06 Menu #main, "DROreset", "Reset MPX", [ZX], "Reset MPY", [MZY], "Reset MPZ", [MZZ], "ResetALL", [MZR] 6: 0.05 Menu #main, "HELP", "Q/A.txt", [HELPx],"LibertyBasic.chm",[HELPchm],"LB-Forum",[HELPforum] 10: 0.08 Menu #main, "DEBUG","--NA1--",[XBUG1],"--NA2--",[XBUG2],"DLY15/35",[DLY32],"DLY25/45",[DLY48],"DLY55/75",[DLY64],"DLY70/90",[DLY80],"DLY85/105",[DLY96] 2: 0.02 button #main.Pause, "Pause", [PAUSE], UL, 5, 450, 45, 20 2: 0.02 button #main.JZMd,"--",[JZMd],UL,158,549,12,13 ' 6: 0.05 texteditor #main.WinStatus, 55,125, 420, 80 ' LBB adjust ' Top left Corner - over, down 2: 0.02 texteditor #main.GCwindow, 55, 210, 420, 260 ' LBB adjust ' bottom right - width, down 4: 0.03 bmpbutton #main.EMRRESET, BMPdir$;"estop6.bmp",[ESTOP],UL, 188,575 ' EM STOP / CLOSE 2: 0.02 button #main.mac7, "Mac7", [mac7], UL, 728, 0, 40, 20 2: 0.02 button #main.EditGcode, "Edt GCode", [EditCode], UL, 940,104, 62, 20 2: 0.02 textbox #main.DROMPx, 55, 0, 110, 30 ' Right Justify & TextboxColor$ = "White" 2: 0.02 texteditor #main.PopUp, 500, 250, 475,350 ' 1160: 9.12 Open "Liberty Basic GRBL GUI" for Window as #main ' 4: 0.03 #main.Status "setfocus" 'MUST setfocus to graphicbox ' 14: 0.11 #main "font ms_sans_serif 8" ' was 10 slightly to big 296: 2.33 #main.Status, "font arial 24" 2: 0.02 #main.DROWCx, "!font arial 14" ' Digital Read Out font size 14 2: 0.02 #main.DROWCy, "!font arial 14" 4: 0.03 #main.DROMPx, "!font arial 14" 2: 0.02 #main.DROMPy, "!font arial 14" 6: 0.05 #main.DROMPz, "!font arial 14" 2: 0.02 #main.DROWPx, "!font arial 14" 2: 0.02 #main.DROWPy, "!font arial 14" 2: 0.02 #main.DROWPz, "!font arial 14" 2: 0.02 #main.green,"!font roman 6 10" ' 2: 0.02 #main.yellow,"Folder" ' 2: 0.02 #main.green,"File" ' 2: 0.02 #main.PopUp, "!hide" ' 2: 0.02 #main.Filebox,"fill green" ' 2: 0.02 #main.JX, str$(JXvar) : #main.JY, str$(JYvar) : #main.JZ, str$(JZvar) 4: 0.03 #main.JXF, "F";str$(JXFvar) : #main.JYF,"F";str$(JYFvar) : #main.JZF,"F";str$(JZFvar) 2: 0.02 magnify=1 : #main.Mag1,1 ' show magnifer value 2: 0.02 if len(P$)>0 then #main.Comx, P$ ' 2: 0.02 if len(BaudRate$)>0 then #main.Baud, BaudRate$ ' 2: 0.02 call GetCommPorts ' scan & load com#'s array 4: 0.03 timer bucketdelay, [ckbuf] ' every 15 ms ckbuf 5510: 43.30 wait ' 2: 0.02 #main.GCwindow, Xtime$ ' 116: 0.91 #GRBL, "?"; '' Keep semicolen so ok-ok won't display approx 100 ms interval not sure how semicolen does this 20: 0.16 lastsent=time$("ms") ' 10: 0.08 #main.Dly1, int((AvgTime/25)+.5) ' 6: 0.05 comlof=lof(#GRBL) ' lof >1 data is in buffer 10: 0.08 if comlof>= 1 then GRBLin$ = GRBLin$ + input$(#GRBL,comlof) ' save comm data to GRCLin$ 4: 0.03 timer 0 ' stop timer until line processed ***** 2: 0.02 Ze=instr(WIN$,"|",2) : winswitch = 1 ' <Idle|MPos 10: 0.08 #main.GCwindow, win$ ' print response in response window 70: 0.55 #main.WinStatus, "<";Qcnt;"> ";win$ ' print <~~~~~~~> msg in status window 4: 0.03 #GRBL, "M5" ' ensure spindle off 26: 0.20 Q=DelayMS(500) ' wait 1/2 second 2: 0.02 #GRBL, CTLx$; ' send soft reset 32: 0.25 Q=DelayMS(500) ' wait 1/2 second 2: 0.02 close #GRBL ' comm port 30: 0.24 close #main ' main window 3564: 28.01 END ' must stop main here 2: 0.02 #main.DROWCx, WCX ' update WCOx 2: 0.02 #main.DROWCy, WCY ' update WCOy 2: 0.02 #main.DROWCz, WCZ ' update WCOz 2: 0.02 #main.DROMPy, MPY ' load MPOSy 2: 0.02 #main.DROMPz, MPZ ' load MPOSz 2: 0.02 #main.DROWPx, MPX - WCX ' load WPOSx 2: 0.02 #main.DROWPy, MPY - WCY ' load WPOSy 2: 0.02 #main.DROWPz, MPZ - WCZ ' load WPOSy 918: 7.21 while time$("milliseconds") < td ' 22: 0.17 wend ' 10: 0.08 #main.Status, "\";data$ ' print data 70: 0.55 #main.GCwindow, "CommPort <";p;"> checked at ";time$() ' 92: 0.72 open "Com";str$(p);":115200,n,8,1" for random as #com ' use this for LBB 4: 0.03 close #com ' 36: 0.28 #main.CommPort, "reload" ' 2: 0.02 #main.Baudrate, "!" ' clr listbox 'BaudRate$ 2: 0.02 #main.CommPort, "!" ' clr listbox ';P$ 8: 0.06 open P$;":";BaudRate$;",n,8,1" for random as #GRBL ' LBB 2: 0.02 #main.CommPort, "!";P$ ' combo select box 2: 0.02 #main.Comx, P$ ' testbox 2: 0.02 #main.Baud, BaudRate$ ' test box 2: 0.02 #main.GCwindow, P$;" WAS / IS OPEN " ' 2: 0.02 #GRBL, CTLx$ ' 6: 0.05 #GRBL, "$$" ' request params 2: 0.02 open DefaultDir$;"\GUI-INI.ini" for input as #MAC ' 4: 0.03 #main.GCwindow, "GcodeDir$ = ";GcodeDir$ ' 2: 0.02 #main.GCwindow, "EditPath$ = ";EditPath$ ' 4: 0.03 #main.GCwindow, "GUI-1Line-[Mac";x;"] = "; Macro$(x) ' 8: 0.06 #main.GCwindow, "<";x;"> ";MP1$(x) ' 2: 0.02 #main.GCwindow, "<";x;"> ";MP2$(x) ' 2: 0.02 #main.GCwindow, "<";x;"> ";MP3$(x) ' 2: 0.02 #main.GCwindow, "<";x;"> ";MP4$(x) '
426: 3.35 (Unaccounted for)
|
| « Last Edit: Dec 25th, 2017, 2:25pm by xtal » |
Logged
|
|
|
|
xtal
New Member
member is offline


Gender: 
Posts: 27
|
 |
Re: LBB runs 7 times slower than LB on my GBRL-Sen
« Reply #37 on: Dec 25th, 2017, 2:31pm » |
|
corrected slow profiler
Profiler report for C:\Users\msw10\AppData\Roaming\Liberty BASIC Pro v4.5.1\GRBL-NU5DggmZ10h-lbb-100.bas
Mon. 25 Dec 2017, 07:36:08
Figures in the first column indicate approximate time in milliseconds spent in each program line.
Figures in the second column indicate approximate percentage of the time spent in each program line.
Time spent profiling: 93.978 seconds.
78: 0.08 '** Liberty BASIC 4.51 pro - 3/14/2017 GCode Sender using GRBL 1.1F Program with simple Graphics 8: 0.01 Menu #main, "DROreset", "Reset MPX", [ZX], "Reset MPY", [MZY], "Reset MPZ", [MZZ], "ResetALL", [MZR] 6: 0.01 Menu #main, "HELP", "Q/A.txt", [HELPx],"LibertyBasic.chm",[HELPchm],"LB-Forum",[HELPforum] 10: 0.01 Menu #main, "DEBUG","--NA1--",[XBUG1],"--NA2--",[XBUG2],"DLY15/35",[DLY32],"DLY25/45",[DLY48],"DLY55/75",[DLY64],"DLY70/90",[DLY80],"DLY85/105",[DLY96] 2: button #main.JXFe,"--",[JXFe],UL,5,624,14,13 ' - 1 6: 0.01 texteditor #main.WinStatus, 55,125, 420, 80 ' LBB adjust ' Top left Corner - over, down 2: texteditor #main.GCwindow, 55, 210, 420, 260 ' LBB adjust ' bottom right - width, down 2: bmpbutton #main.EMRRESET, BMPdir$;"estop6.bmp",[ESTOP],UL, 188,575 ' EM STOP / CLOSE 2: button #main.rtz, "RTNZERO", [Ret2ZERO], UL, 375, 600, 60, 30 ' 2: button #main.mac10, "MP_1", [macP1], UL, 445, 25, 40, 20 ' "G21G90G0Z-26X-230Y-188" 2: statictext #main.nbrfilename, "#File's",570,70,30,14 ' 2: listbox #main.S2, SB$(),[Prm2],580,125,102,108 ' 2: texteditor #main.PopUp, 500, 250, 475,350 ' 1116: 1.19 Open "Liberty Basic GRBL GUI" for Window as #main ' 6: 0.01 #main.Status "setfocus" 'MUST setfocus to graphicbox ' 12: 0.01 #main "font ms_sans_serif 8" ' was 10 slightly to big 286: 0.30 #main.Status, "font arial 24" 2: #main.DROWCx, "!font arial 14" ' Digital Read Out font size 14 2: #main.DROWCy, "!font arial 14" 2: #main.DROWCz, "!font arial 14" 2: #main.DROMPx, "!font arial 14" 2: #main.DROMPy, "!font arial 14" 6: 0.01 #main.DROMPz, "!font arial 14" 2: #main.DROWPx, "!font arial 14" 2: #main.DROWPy, "!font arial 14" 2: #main.DROWPz, "!font arial 14" 2: #main.green,"!font roman 6 10" ' 2: #main.yellow,"Folder" ' 2: #main.green,"File" ' 2: #main.selbox2, "hide" ' hide this box 2: #main.Filebox,"fill green" ' 2: #main.JX, str$(JXvar) : #main.JY, str$(JYvar) : #main.JZ, str$(JZvar) 4: #main.JXF, "F";str$(JXFvar) : #main.JYF,"F";str$(JYFvar) : #main.JZF,"F";str$(JZFvar) 2: magnify=1 : #main.Mag1,1 ' show magnifer value 2: plotxy=2 : #main.PLOTa,"TL" ' 2: #main.GCwindow, "TotalScreen Height = "; DisplayHeight ' 2: call GetMacros ' load macros from GUI-INI.ini 2: if len(P$)>0 then #main.Comx, P$ ' 2: if len(BaudRate$)>0 then #main.Baud, BaudRate$ ' 6: 0.01 timer bucketdelay, [ckbuf] ' every 15 ms ckbuf 83048: 88.37 wait ' 2: #main.GCwindow, Xtime$ ' 204: 0.22 #GRBL, "?"; '' Keep semicolen so ok-ok won't display approx 100 ms interval not sure how semicolen does this 8: 0.01 lastsent=time$("ms") ' 20: 0.02 #main.Dly1, int((AvgTime/25)+.5) ' 4: comlof=lof(#GRBL) ' lof >1 data is in buffer 58: 0.06 if comlof>= 1 then GRBLin$ = GRBLin$ + input$(#GRBL,comlof) ' save comm data to GRCLin$ 2: win$=left$(GRBLin$,crlfPos+1) ' extract this line 8: 0.01 timer 0 ' stop timer until line processed ***** 16: 0.02 #main.GCwindow, win$ ' print response in response window 116: 0.12 #main.WinStatus, "<";Qcnt;"> ";win$ ' print <~~~~~~~> msg in status window 4: #GRBL, "M5" ' ensure spindle off 34: 0.04 Q=DelayMS(500) ' wait 1/2 second 2: #GRBL, CTLx$; ' send soft reset 26: 0.03 Q=DelayMS(500) ' wait 1/2 second 2: close #GRBL ' comm port 34: 0.04 close #main ' main window 7028: 7.48 END ' must stop main here 2: #main.DROWCx, WCX ' update WCOx 2: #main.DROWCy, WCY ' update WCOy 2: #main.DROWCz, WCZ ' update WCOz 2: #main.DROMPx, MPX ' load MPOSx 2: #main.DROMPy, MPY ' load MPOSy 2: #main.DROWPx, MPX - WCX ' load WPOSx 2: #main.DROWPy, MPY - WCY ' load WPOSy 2: #main.DROWPz, MPZ - WCZ ' load WPOSy 926: 0.99 while time$("milliseconds") < td ' 12: 0.01 wend ' 2: #main.Status, "fill ";color$ ' fill yellow 8: 0.01 #main.Status, "\";data$ ' print data 46: 0.05 #main.GCwindow, "CommPort <";p;"> checked at ";time$() ' 104: 0.11 open "Com";str$(p);":115200,n,8,1" for random as #com ' use this for LBB 4: close #com ' 34: 0.04 #main.CommPort, "reload" ' 2: #main.Baudrate, "!" ' clr listbox 'BaudRate$ 2: #main.CommPort, "!" ' clr listbox ';P$ 8: 0.01 open P$;":";BaudRate$;",n,8,1" for random as #GRBL ' LBB 2: #main.Baudrate, "!";BaudRate$ ' combo select box 2: #main.CommPort, "!";P$ ' combo select box 2: #main.Comx, P$ ' testbox 2: #main.Baud, BaudRate$ ' test box 4: #main.GCwindow, P$;" WAS / IS OPEN " ' 2: #GRBL, CTLx$ ' 4: #GRBL, "$$" ' request params 2: #main.GCwindow, "GcodeDir$ = ";GcodeDir$ ' 2: #main.GCwindow, "EditPath$ = ";EditPath$ ' 2: #main.GCwindow, "GUI-1Line-[Mac";x;"] = "; Macro$(x) ' 6: 0.01 #main.GCwindow, "<";x;"> ";MP1$(x) ' 2: #main.GCwindow, "<";x;"> ";MP2$(x) ' 2: #main.GCwindow, "<";x;"> ";MP3$(x) ' 2: #main.GCwindow, "<";x;"> ";MP4$(x) ' 562: 0.60 (Unaccounted for)
|
|
Logged
|
|
|
|
|