Calculator graphics drawing benchmark
|
01-29-2022, 02:10 PM
Post: #21
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(01-29-2022 01:03 PM)Dave Britten Wrote: Well shoot, guess I'd better go shopping for a 9000! How does it handle the touch keys? Is there just an unlabeled 4x4 button grid on the touch screen? It's been too long, I don't recall all the details... IIRC, the 9xxx machines had bitmaps of the common cards in ROM to display them on the LCD, but I don't recall if the BASIC card was included. If time permits, I'll dig today, I have a 9500 that still works... --Bob Prosperi |
|||
01-29-2022, 04:36 PM
(This post was last modified: 01-29-2022 08:33 PM by DavidM.)
Post: #22
|
|||
|
|||
RE: Calculator graphics drawing benchmark
I like these patterns. It seems like they are much more planned and deliberate than the simple algorithm would imply.
(edit: I removed examples of another approach that created horizontal and vertical dashed lines and replicated those lines in the same randomly-staggered sequence -- they deviated too much from the intended algorithm to include them here) A "brute force" implementation on the 50g: Code: \<< This one isn't exactly a speed demon: HP 50g program: User RPL screen: 131x80 time: 13.52s (average of 10 runs) performance: 775 Given that other platforms were checked with alternate language options, I also tried the above method with System RPL. I knew that a lot of the slowdown in the User RPL implementations comes from type conversions and argument structuring, and both of those would be less of an issue with System RPL. The brute-force approach I used above in a System RPL implementation looks like this: Code: :: A noticeable improvement: HP 50g program: System RPL screen: 131x80 time: 1.459s (average of 10 runs) performance: 7,183 Thanks for the interesting exercise! |
|||
01-29-2022, 05:00 PM
Post: #23
|
|||
|
|||
RE: Calculator graphics drawing benchmark | |||
01-29-2022, 05:37 PM
Post: #24
|
|||
|
|||
RE: Calculator graphics drawing benchmark
Thanks! That was much faster than digging thru storage boxes.
I think if you use one of the common cards, such as Time/Expense, etc, then the keypad icons are visible on the emulated touchpad (these bitmaps were stored in the organizer's ROM), but in the case of the BASIC card we decided to keep it generic (i.e., to not include the scientific calculator labels) since someone may well be using the touchpad buttons for a custom BASIC program and the scientific labels would only confuse the user. --Bob Prosperi |
|||
01-29-2022, 06:08 PM
Post: #25
|
|||
|
|||
RE: Calculator graphics drawing benchmark
DavidM,
Nice results for the HP 50g! Thanks for contributing! (01-29-2022 04:36 PM)DavidM Wrote:Quote:...including dashed lines if that speeds up the algorithm. ... If anyone finds a faster way to run these programs, then let us know. As long as the S=4 Hitomezashi-based algorithm draws (dashed) lines with random offsets then it's benchmarking properly. If a dashed line drawing feature exists, then by all means use it. Also the line drawing order does not matter, even though it may no longer produce the eye-pleasing horizontal wave/weave effect. I don't closely follow the logic of the second version, but from your explanation and by perusing the code it appears to place a dashed line in some PICT memory (like a sprite?) to redraw copies of it at random offsets? Don't want to be a PitA, but sprite drawing is different and isn't benchmarked. Still, I feel strongly that this method should be included in the performance table somehow, but perhaps in a separate benchmark table that allows memory copy/sprite/blitting operations to speed up line drawing (per line) for all calculators that support such features. That's just my opinion, not sure what others think is most fair? - Rob "I count on old friends to remain rational" |
|||
01-29-2022, 07:13 PM
Post: #26
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(01-29-2022 06:08 PM)robve Wrote: I don't closely follow the logic of the second version, but from your explanation and by perusing the code it appears to place a dashed line in some PICT memory (like a sprite?) to redraw copies of it at random offsets? Don't want to be a PitA, but sprite drawing is different and isn't benchmarked. Still, I feel strongly that this method should be included in the performance table somehow, but perhaps in a separate benchmark table that allows memory copy/sprite/blitting operations to speed up line drawing (per line) for all calculators that support such features. That's just my opinion, not sure what others think is most fair? You are quite correct. To give a meaningful comparison of machines, special features of any one machine or language should be avoided The same algorithm should be used on every machine. Even better, the same language should be used, if possible. Python is a big step in that direction. Tom L Cui bono? |
|||
01-29-2022, 07:17 PM
(This post was last modified: 01-31-2022 07:11 PM by C.Ret.)
Post: #27
|
|||
|
|||
RE: Calculator graphics drawing benchmark
Material : HP-41C connected to a HP82240A printer through a HP82242A IR module.
Preparation: setup hardware, check paper Program: Code: 01 ►LBL"HITO" ADV CF 21 FIX 0 XEQ 12 Registers: R00: seed of pseudo random generator R01: column indice R02: row indice R03-R43: Graphic Code for printing vertical dash lines (colum line) R44-R63: Graphic Code for printing horizontal dash lines (row lines) Flag 00: Toggle for row line Flag 21: Suspend printing during initialisation. Usage : SIZE 64 randomized seed STO 00 XEQ [ALPHA]HITO[ALPHA] Time: ~12'05" (~725") the printing start after 1'25" of initialisation. Screen: 164x160 Size of print adjustable through row and register range (see instruction 068 and 071) Performance: 36.19 The HP-41C definitively not a graphing calculator EDITED: The value 17 at step 050 was missing in the original post. Sorry for missing this in first edition. |
|||
01-29-2022, 09:12 PM
Post: #28
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(01-29-2022 06:08 PM)robve Wrote: I don't closely follow the logic of the second version, but from your explanation and by perusing the code it appears to place a dashed line in some PICT memory (like a sprite?) to redraw copies of it at random offsets? Don't want to be a PitA, but sprite drawing is different and isn't benchmarked. Not a problem, I thought it could be out-of-scope so that's why I asked. Your mention of using dashed lines was what made me think the alternate approach might be acceptable. I've removed those examples and left the User- and System-RPL ones for the looped-LINE commands as they were, since those are comparable to the other posts. PICT is the designated drawing area for User RPL drawing commands, so it's entirely appropriate for use here. The method I used in the (now removed) examples was:
I suspect a similar approach could be used with other platforms, of course, and might make sense for a separate benchmark. That method isn't special to the 50g in any way. |
|||
01-30-2022, 01:38 AM
Post: #29
|
|||
|
|||
RE: Calculator graphics drawing benchmark
DavidM: thank you for sharing the details how the approach worked with GROBs. Note that it is permitted to draw the entire image to a GROB first and display the GROB at the end. That will still count for this benchmark, because it optimizes the drawing speed of the entire image to a buffer, not bypass line drawing. I've used UseBuffer and PaintBuffer with the Ti-nspire to do just that.
C.Ret: great to see the HP-28S and the HP-41C additions to the benchmark list. Using the printer with the HP-41C offers a creative contribution! - Rob "I count on old friends to remain rational" |
|||
01-30-2022, 05:01 AM
Post: #30
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(01-30-2022 01:38 AM)robve Wrote: Note that it is permitted to draw the entire image to a GROB first and display the GROB at the end. That will still count for this benchmark, because it optimizes the drawing speed of the entire image to a buffer, not bypass line drawing. While permitted, there's no performance gain on the 50g for that. Standard User RPL only allows drawing lines to the graphics display, and it's equally slow regardless of which display (graphics or text) is active. SysRPL has separate line drawing commands for both displays, but they take the same amount of time regardless of the display disposition. There are apparently grayscale SysRPL commands that include line drawing to arbitrary GROBs, but I've never actually seen documentation for how to use them successfully. They are great at causing system crashes, though. |
|||
01-31-2022, 06:22 PM
(This post was last modified: 02-03-2022 06:56 PM by Dan C.)
Post: #31
|
|||
|
|||
RE: Calculator graphics drawing benchmark
Is it possible to write a benchmark program for the TI-81, the first Texas Instruments graphic calc?
If so, how would a prog for TI-81 look like? I just got an old TI-81, but i dont yet know how to write programs on it. |
|||
01-31-2022, 07:49 PM
Post: #32
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(01-29-2022 06:08 PM)robve Wrote: Don't want to be a PitA, but sprite drawing is different and isn't benchmarked. Still, I feel strongly that this method should be included in the performance table somehow, but perhaps in a separate benchmark table that allows memory copy/sprite/blitting operations to speed up line drawing (per line) for all calculators that support such features. That's just my opinion, not sure what others think is most fair? Did you ask for it? Here is the performance index of over 38 millions on a Prime G2 Python with blitting Code: from hpprime import * s = 4 320*240 Pixels Loops = 100 Time per loop 0.00197 sec Performance Index: 38,984,772 Still not ready for Python on the Prime? Günter |
|||
01-31-2022, 08:22 PM
Post: #33
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(01-31-2022 07:49 PM)Guenter Schink Wrote: 320*240 Pixels Awesome! (01-31-2022 07:49 PM)Guenter Schink Wrote: Still not ready for Python on the Prime? Got my Prime updated over the weekend. So yes, I'm ready! - Rob "I count on old friends to remain rational" |
|||
02-02-2022, 05:50 PM
Post: #34
|
|||
|
|||
RE: Calculator graphics drawing benchmark
A new addition to the benchmark: the first Sharp graphing calculator 1986. This small and quirky calculator has many features for its time, including multi-formula playback. But its graphing capabilities are slow, placing it near the bottom of the benchmark scores.
I didn't think it would be possible to run this benchmark due to the limitations of AER-II, but here it is Sharp EL-5200/EL-9000 program: AER-II screen: 96x32 time: 72.5s performance: 42 Code: Sharp EL-5200/EL-9000 AER-II (input S=4) AER programming in the virtual museum of calculators. - Rob "I count on old friends to remain rational" |
|||
02-02-2022, 10:12 PM
(This post was last modified: 02-03-2022 08:20 PM by C.Ret.)
Post: #35
|
|||
|
|||
RE: Calculator graphics drawing benchmark (HP-71B)
Here is a version for the full graphic one-line display calculator HP-71B.
As you can see it on the picture, the HP-71B is a full graphic calculator since its display is a full matrix of LCD dots without any hole or gap between the character positions. Here is a code that hallows the Calculator graphics drawing benchmark for any size of Hitomezashi pattern from 1 pixel up to 8 pixels. This version of the code is suitable to all HP-71B without any module or extension. It is adapted from an original code that need specific instructions from the JPC ROM ver E. The rendering is based on the behavior of the GDISP instruction, a precursor of GROB operations on actual RPL and HPPL pockets. 1 DESTROY ALL @ DIM G$[132] @ INPUT "Hito.(1-8) ","4";N @ ON N GOSUB 10,20,30,40,50,60,70,80 3 T=TIME @ D=1+LEN(H$) @ J=CEIL(D*RND) @ FOR K=0 TO 131 5 IF NOT MOD(K,N) THEN I=CEIL(2*RND) @ G$=G$&V$[I,I] @ J=D-J ELSE G$=G$&H$[J,J] 7 NEXT K @ GDISP G$ @ T=TIME-T @ PAUSE @ DISP T @ END 10 V$=CHR$(85)&CHR$(170) @ H$=CHR$(255) 12 RETURN 20 V$=CHR$(119)&CHR$(221) @ H$=CHR$(0)&CHR$(1)&CHR$(4)&CHR$(5)&CHR$(16)&CHR$(17)&CHR$(20) 22 H$=H$&CHR$(21)&CHR$(64)&CHR$(65)&CHR$(68)&CHR$(69)&CHR$(80)&CHR$(81)&CHR$(84)&CHR$(85) 24 RETURN 30 V$=CHR$(121)&CHR$(207) 32 H$=CHR$(0)&CHR$(1)&CHR$(8)&CHR$(9)&CHR$(64)&CHR$(65)&CHR$(72)&CHR$(73)&CHR$( ) 34 RETURN 40 V$=CHR$(31)&CHR$(240) @ H$=CHR$(0)&CHR$(1)&CHR$(16)&CHR$(17) 42 RETURN 50 V$=CHR$(63)&CHR$(225) @ H$=CHR$(0)&CHR$(1)&CHR$(32)&CHR$(33) 52 RETURN 60 V$=CHR$(127)&CHR$(193) @ H$=CHR$(0)&CHR$(1)&CHR$(64)&CHR$(65) 62 RETURN 70 V$=CHR$(129)&CHR$(255) @ H$=CHR$(0)&CHR$(1)&CHR$(128)&CHR$(129) 72 RETURN 80 V$=CHR$(1)&CHR$(255) @ H$=CHR$(0)&CHR$(1) 82 RETURN Usage: RUN Press ENTER to select default size or type-in size and validate The pattern is displayed full size. Press f-CONT to display execution time in second Press f-CONT again or RUN to get a new random pattern. Screen: 132 x 8 = 1056 Speed: ~6.06" (for size 4) Performance: 174.2574 Edited to add sample capture pictures. |
|||
02-04-2022, 02:41 AM
Post: #36
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(01-28-2022 07:15 PM)Dave Britten Wrote: Just for fun, I punched this into the Wizard BASIC card using my just-received OZ-7600 and got about 2.5 seconds. Same performance when the card is running in an OZ-7200. Today I received a OZ-8B03 BASIC card and popped into my OZ-9500 to run the benchmark with the same PC-E500 program but adjusted to the 240x64 screen: time: 2.5s performance: 6,144 Interesting that the time 2.5s is the same as on the OZ-7600, but the pattern fills a 2.5 times larger screen. - Rob "I count on old friends to remain rational" |
|||
02-24-2022, 04:12 PM
Post: #37
|
|||
|
|||
RE: Calculator graphics drawing benchmark
I got ahold of an OZ-9600II and gave this a try with my 16-column BASIC card. Not bad looking! The program takes about 1.25 seconds to run.
https://i.imgur.com/iPztd6F.jpg It's only a tiny portion of the screen, but physically it's not too much smaller than the screen on an OZ-7000 series. The 40-column spreadsheet card fills out the width of the bordered area nicely. This is a pretty nice Wizard model. The only two obvious strikes against it are you can't easily do repeating to-do entries, and there's no 4-pin option port for connecting a CE-50P printer/cassette interface. No idea if LPRINT can be used on this model somehow. |
|||
08-27-2023, 03:57 PM
Post: #38
|
|||
|
|||
RE: Calculator graphics drawing benchmark
I posted a faster DM42 Hitomezashi algorithm using AGRAPH on the "Not Quite HP Calculators - but related" forum. It seems to be about 2 times faster (worst case) and more than 10 times faster (best case), depending on USB/battery power, screen resolution and S (size) setting, using sizes 4 and 8. My times were measured using the 400x240 screen resolution.
|
|||
08-28-2023, 01:56 AM
Post: #39
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(08-27-2023 03:57 PM)arhtur Wrote: I posted a faster DM42 Hitomezashi algorithm using AGRAPH on the "Not Quite HP Calculators - but related" forum. It seems to be about 2 times faster (worst case) and more than 10 times faster (best case), depending on USB/battery power, screen resolution and S (size) setting, using sizes 4 and 8. My times were measured using the 400x240 screen resolution. I didn't see it. Can you share a link for me? I will be happy to update the results with the timing (range) and program code. - Rob "I count on old friends to remain rational" |
|||
08-28-2023, 02:36 AM
Post: #40
|
|||
|
|||
RE: Calculator graphics drawing benchmark
(08-28-2023 01:56 AM)robve Wrote:(08-27-2023 03:57 PM)arhtur Wrote: I posted a faster DM42 Hitomezashi algorithm using AGRAPH on the "Not Quite HP Calculators - but related" forum. It seems to be about 2 times faster (worst case) and more than 10 times faster (best case), depending on USB/battery power, screen resolution and S (size) setting, using sizes 4 and 8. My times were measured using the 400x240 screen resolution. https://www.hpmuseum.org/forum/thread-20408.html |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 7 Guest(s)