Further to my post about QPC on a LattePanda.
QPC has always been "fast" on the various PCs I have used, so I never gave much thought to its performance. Recently I bought a LattePanda and ran QPC2 on it. It was unusably slow and so I asked why this could be. In my original post, I wrote that it was the latest version of QPC2 that ran slowly.
This is not the case. I had two versions of QPC2 on the Panda, QPC2.4 and the new QPC2.5. After Marcel suggested that a grahpics driver could be causing a problem, I checked my QPC2.5 settings only to find that I had run both QPC2.4 and 5. It was QPC2.4 and QPC2.5 set to Direct Draw that ran slowly not QPC2.5 set to Direct 3D.
My father was a keen user of SMS2 on an Atari mega STe user. He was originally a QL enthusiast. A long time ago he bought a copy of QPC2 and he ran it on an XP machine that I had assembled for him such that he could access the internet and still run his SMS2 stuff. This machine is still running today and I have just found out that it is, surprisingly, the fastest SMSQE-in-QPC machine amongst my motley pile of computers.
Curious as to the poor performance of SMSQE-on-Panda I wrote a program (in SBASIC) to test the speed of compiled SBASIC algorithms. There doesn't seem to be a timer instruction in SBASIC so I tried two methods to do this. The first method using the 20msec delay (Is it actually accurate?) inherent in the INKEY$ function was interesting but not very reliable. The second uses the DATE function.
This program should run on any machine including a QL. I don't have a QL, so I can't test it.
- WIN3.zip
- (469.53 KiB) Downloaded 133 times
I start timing on a transition, determine how long it takes to run the test program, run the algorithm I want to test in a loop, count the number of times the algorithm runs in 5 seconds and finally display the results after subtracting the test program run-time.
The win3.zip file contains three test programs that are independent of each other, but are designed to run one after each other if they are all stored as win3_xxxx. I have yet to find out how the HOME Thing works, so either one has to edit the instruction EX win3_xxxx, or delete it, or accept that each program will stop with the error "Not Found"
I have no idea if this is accurate but I can't think of another way testing the speed of QPC/SMSQE. As a method comparing the relative performance of compiled SBASIC algorithms I think it is probably useful.
The results seem to confirm that, as far as the speed of executing an SBASIC program in SMSQE is concerned, performance of low cost computers has not increased. Actually the opposite seems to be true. The low cost computers I have bought recently are slower than my father's "low cost" generic 2009 PC or my mothers Lenovo R60. (how is this possible?)
The oddest result is QPC2.4 on Panda.(see results below). I wonder, what those four cores are actually doing?
One other thing that is odd is the perceived performance of SMSQE on my various bits of hardware. For example "real-time" window moves and file menu display performance on the Q68 (the slowest machine) is quite a lot faster than either the Panda or the Pi400.
The programs tests the speed of a REP loop, followed by writing characters, blocks and ellipses to a window in micro seconds.
The Panda is odd and "feels the slowest", so I list its results last.
Listed as slowest first........:- Rp chr blck ellps
Q68.............................:- 168 583 1134 12597
Pi400............................:- 47 260 280 5200
Lenovo R60 QPC1..............:- 35 138 253 4931
Lenovo X220 QPC2.5 3D......:- 36 191 289 3485
Lenovo X220 QPC2.5 Direct :- 35 179 286 3436
Lenovo X220 QPC2.4 Direct?.:- 31 139 293 3326
Gigabyte Brix QPC2.5 3D.....:- 17 88 109 3415
Gigabyte Brix QPC2.5 Direct.:- 17 88 105 3384
Lenovo R60 QPC2.5 Direct? ..:- 17 94 90 2325
2009 generic QPC2.4 Direct?..:- 9 58 87 2168
2009 generic QPC2.3 Direct?..:- 9 45 81 2017
2009 generic QPC2.5 Direct?..:- 9 53 56 1811
Panda QPC2.4 Direct?...........:- 19 526 162140 4203 BLOCK drawing !!! 140 times slower than a Q68
Panda QPC2.5 Direct............:- 22 147 15284 4360
Panda QPC2.5 3D................:- 22 168 4736 4879
Slow drawing to a console probably explains why it "feels slow"
The Q68 is the slowest but it "feels" fast. How can the X220 be so much slower than the R60 or 2009 generic?