stam wrote: Thu Aug 21, 2025 1:45 am
Running it on my 2016 MBP will be a true test as I've used OpenCore Patcher to install MacOS Sequoia 15.5 on it, even though the last officially supported OS for this is MacOS Sierra - so there will be extra overhead for the unsupported, near-current OS as well (the current 15.6 is not yet fully supported in OpenCore Patcher).
No one probably cares about this, but just as a follow up to my previous post:
Background
I ran a speed test on an old MacBook Pro (2016 Touchbar 15" MacBook Pro: 2.7 GHz Quad-Core Intel Core I7 with 16 Gb RAM). This machine's officially latest permitted OS is macOS Sierra which is pretty much useless (Safari on Sierra can't even display half the websites I use!) and since the touchbar MBP is pretty much impossible to run Linux on (I've tried about 8 distros - drivers are the problem with all, most fail to even detect keyboard/trackpad, all fail to detect sound/wifi), I decided to bypass MacOS' restrictions for this legacy/unsupported laptop, and installed MacOS Sequoia 15.5 on this using OpenCore Legacy Patcher. While this works, it is clearly a much more taxing OS for this machine and will likely negatively impact test results.
The machine I tested this on originally is a 2023 16" M2 Pro MacBook Pro with 16 Mb RAM, running MacOS Sequoia 15.6.
The test was to load 10,000 rows of 12 columns of random numbers into a data grid. I repeated the test for a polygrid - on both macines I am using LiveCode Create DP8 in 'Classic mode' -- equivalent to LiveCode 10.
Previous testing
On the 2023 machine, it takes on average 100 ms to load the dataset into a DG and about 6 ms to load into a polygrid widget. Scrolling was completely fluid with no perceptible delay/lag scrolling back and forth the 10,000 records.
Repeat testing on older machine
On the 2016 MBP this took on average 550 ms to load the datagrid and while there was no visible stuttering there was slightly lower frame rate when scrolling, with the net result of this not feeling completely fluid, but there was no actual stuttering.
Loading the polygrid widget with the same data was much quicker: 6 ms. However on scrolling there was more of a lag (when moving the scrollbar there was maybe 0.5 sec delay until the scrolling caught up). Datagrid was much more fluid.
Findings
So while, as expected performance is worse on a nearly 10 year old laptop running a heavy, unsupported MacOS, performance was OK-ish in my opinion. Loading times as expected were much faster for the polygrid widget at 6 ms and palpably slower with DG (about 0.5 seconds so just long enough to notice - but for 10,000 records that did not see unreasonable).
I did not expect the data grid to scroll much smoother than the polygrid - so this was a surprise. Scrolling the widget was slower in the sense that moving the scrollbar led to about 1 sec delay for the scroll to catch up whereas this was much quicker with data grid - so score +1 for the venerable DG!
In order to attempt replicating the OP's woes, I limited the number of rows to 200 - as expected performance for both DG and PG were much improved with much less perceptible delay on the 2016 machine.
Web
The worse performance is not limited to LiveCode - I ran the HTML speed the HTML speed test in my previous post.
New machine: 1 ms virtualised render, 1400 ms full render
Old machine: 10 ms virtualised render, 2800 ms full render
On the old machine, scrolling was fluid when using trackpad (more fluid that LC), but when scrolling the scrollbar there was about 0.5-1 second lag for the data to update in the HTML table.
I have no experience using LC to generate web apps: I just ticked the 'web' option in the standalone application settings and ran these again - this was
truly a miserable/extremely poor performance, much more on par with what the OP describes, but I don't know how much of that is my ignorance as opposed LC limitations.
Conclusions
My conclusions is that overall,
desktop apps perform adequately on an old machine. On newer M-series processors this runs entirely fluidly.
I was surprised to see that with large datasets, scrolling the data grid
on the old machine performed visibly better than PolyGrid widget.
It may well be
we have been arguing apples and oranges with the OP referring exclusively to web apps and me referring to desktop apps - and the two are really not equivalent. The web apps I was able to produce performed as badly as described by the OP, but of course most here think of LC as a desktop app where performance there is vastly superior to what is described.
Based on this limited testing as a web app, I would probably side with with the OP in not recommending LC for web apps - even in LC Create performance seems poorer (although I was unable to successfully export a web app from LCC - the html page produced just shows an endless spinner...). I personally will not be switching to LC for web apps for the time being either and will stick with XOJO...
Again, no one probably cares, but just setting the record straight on this...