Did graphics get hugely slower in 2017?

Julian:

nothing happens at first, so I append a Beep, run, less than two seconds, but beside that…
diff = 62 ?
(I used Xojo 2018r1.1)

Your Xojo version is
2017r1, r2, R2.1, R3 ?

Check the messages/debug window after you click the button.

I’m running 2018r1.1 but I also tested it on 2017r3 with similar speeds. 2016r3 is 248 and 240 in Windows 10

Sorry, I never used system.debuglog (but I was here before REALbasic 1.0…).

I do not found any messages/debug .

MBP last 2013 - Sierra: 73 / 51 with Xojo 2016r1.1, and 70 / 46 with 2017r3.

OK, I found it. For unknow reason, I do not notced the small image (it may not be displayed at first ?)

Answer: 98, 40 with 2015r1. 81, 46 with 2018r1.1.

I learned something new today !

:slight_smile: Emile, I made you a gif as well, best not waste it :wink:

Thank you Julian, that’s it !

http://documentation.xojo.com/index.php/System.DebugLog
needs some more explanation :frowning:

[quote]What happened here?

@Jeff T Takes 11 seconds
…
takes less than 0.5 seconds

… and now we are talking ticks???[/quote]

In ‘the actual app’ , 64bit compiled, with bigger things to draw.
Compiled in 2015R3, the full repaint of a screen sized canvas used to take 0.5 seconds
Compiled in 2017 R3, the same code was taking 11 seconds to complete.

You wouldnt/ couldnt use the full project, so the code above attempts to isolate the difference between ‘part of an image’, and ‘all of a small one’ in a tight loop.

What Im finding odd are the results from people who say 2018 is faster than the 2015 code.

I put breakpoints after the diff lines so that I can see what the values are.

Testing this code on 2017 on the Macbook pro early 2105 retina, I get 85 and 45
Same code on Xojo 2015 in a VM 185 and 184 … slower all round, BUT more or less the same performance.

[code] dim bgpic as picture
bgpic = new picture (800,800,32)
dim iconspic as picture
iconspic = new picture (200*64,64,32)
dim smlpic as new picture (64,64,32)
dim x, y as integer
dim k as integer

dim startticks as integer
dim diff as integer
startticks = ticks
for x = 0 to 499
for y = 0 to 499
k = rnd() * 200
bgpic.graphics.DrawPicture iconspic, x10, y10, 10,10, k64,0,64,64
next
next
diff = ticks - startticks
msgbox "Time in ticks: " +format( diff, “0”)
startticks = ticks
for x = 0 to 499
for y = 0 to 499
k = rnd() * 200
bgpic.graphics.DrawPicture smlpic, x
10, y*10, 10,10, 0,0,64,64
next
next
diff = ticks - startticks
msgbox "Time in ticks: " +format( diff, “0”)[/code]

So Im starting to wonder what to report. The timings shouldn’t vary between methods by that much.
Im not hearing anyone else see the same slowdown between 2015 and 2017 though???

Certainly I can’t live with the change from 0.5 seconds to 11 seconds in the real app.

I guess if I go into optimising mode I can get some speed back.
(I just hate ‘upgrading’ stuff and ending up with worse/less than I had before.)

Found one of the problems <https://xojo.com/issue/52469> massive memory usage in 64bit windows.

I spent some time optimising, and moving code to generate interim small pictures instead of pulling areas from ‘what we used to call a sprite set’
The speed is now at least consistent, although the ‘new Xojo’ compiled app is slower than the one compiled in 2015, and slower again when compared to 32bit.

It’s depressing that - while in theory hardware is speeding up - my delivered app is slowing down every year.

Contact Xojo directly and request a priority support. That kind of speed drop is far too significant.

Xojo 2018r1.1
Win32 773 458

Win64 830 924

Mac64 74 44

Mac32 103 54

Xojo 2014r3.2 (the oldest I still have)
Mac32 103 56

Win32 431 2769

The Windows benchmarks are on the Same Mac / VMWare Fusion 9, windows 1064bit. Scary stuff with regards Windows. 20 times Quicker on Mac. 46! seconds Xojo2.14 on windows32…

[quote=392152:@Lee Badham]Xojo 2018r1.1
Win32 773 458[/quote]

Higher is better, right!?

Seriously, WHAT is this? I for one am NOT telepathic …

Did you try to Profile your code ?
(I never used that).

Similar here, I’m not seeing huge speed differences between different versions of Xojo on the same mac with Jeffs code:

2015r3.1
32bit
75 42
64bit 64 31

2016r3
32bit
78 45
64bit 61 42

2018r1.1
32bit
82 48
64bit 65 40

However there is a speed difference between the calls. One must be using a different graphics call in the framework. The first call is placing an image into a oversized image, where as the 2nd call is placing it into one that is the exact size. Pop a ticket in pretty much saying that why if you increase the targets pixel size from 64,64 to 65,64 is there a huge performance hit. Try it for yourself by altering smlpic to 65,64,32 and the two calls end up at similar speed.

I do see the windows problem though so I made a <https://xojo.com/issue/52470> about it.

[quote=392154:@Markus Winter]Higher is better, right!?

Seriously, WHAT is this? I for one am NOT telepathic …[/quote]

Neither am I but I understand what it means. Its the answer to life, the universe and everything :wink: I understand what they are as I’ve run the code. If you don’t run the code you don’t understand the numbers :slight_smile: Shouting about it doesn’t impart knowledge. TL;DR high is bad, m’kay!

The posted app shows the time taken to perform each operation in ticks. That’s what I posted. Telepathy not needed.

[quote=392154:@Markus Winter]Higher is better, right!?

Seriously, WHAT is this? I for one am NOT telepathic …[/quote]

1 tick = 1/60 of a second. 120 ticks = 2 seconds. 240 ticks = 4 seconds. 773 is almost 13 seconds.
So, more ticks in same task means slower processing.

https://documentation.xojo.com/index.php/Ticks

[quote=392168:@Rick Araujo]1 tick = 1/60 of a second. 120 ticks = 2 seconds. 240 ticks = 4 seconds. 773 is almost 13 seconds.
So, more ticks in same task means slower processing.

https://documentation.xojo.com/index.php/Ticks[/quote]

Markus is well aware of this. I think what he want’s to say is that posting a few Numbers means nothing. There should always a Legend/Explanation to what the meaning of those Numbers is. Even in a Forum, i’d add this Info to each new Post of Numbers.

BTW: I am not sure if we should call this Benchmarks, because what is the standard to which we compare all this?

Not sure, so I decided to explain.

  1. A fact was found. A tremendous loss of speed of a task just switching Xojo versions.

  2. We have historical facts. As we don’t have some standards to compare, the goal is to proceed with deeper tests looking for comparable numbers and find more details for some comparative analysis involving environments, OS’s and Xojo versions, and learn more about such loss.

This research already yielded a feedback.