FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[[ Bugfix 21305 ]] Improve performance of stackfile saving on Windows by runrevmark · Pull Request #7342 · livecode/livecode · GitHub

This repository was archived by the owner on Aug 31, 2021. It is now read-only.
/ livecode Public archive

[[ Bugfix 21305 ]] Improve performance of stackfile saving on Windows - #7342

Merged
runrevmark merged 2 commits into
livecode:developfrom
runrevmark:bugfix-21305-api
Apr 30, 2020
Merged

[[ Bugfix 21305 ]] Improve performance of stackfile saving on Windows#7342
runrevmark merged 2 commits into
livecode:developfrom
runrevmark:bugfix-21305-api

Conversation

Copy link
Copy Markdown
Contributor

This patch adds a cache of some critical system metrics which are used when writing field object content to a stackfile. Previously these metrics would be queried directly every time an MCBlock was serialized, they are now queried on startup and when a broadcast notification is received which indicates they may have changed. This makes a substantial difference to saving stackfiles which contain lots of text stored in fields.

Partially closes https://quality.livecode.com/show_bug.cgi?id=21305

This patch caches the screen dpi and non-client metrics in the MCScreenDC
class on open, with them being updated whenever a WM_SETTINGCHANGE or
WM_DISPLAYCHANGE message is received. This metrics are used frequently,
especially when serializing fields, and caching vastly improves the speed
of the operations using them.

To facilitate the caching and update of the metrics, a new method
`updatemetrics()` has been added to MCScreenDC, which is called when opened
and during `processdesktopchanged()`.
runrevmark added the bug label Apr 30, 2020
runrevmark added this to the 9.6.0-rc-1 milestone Apr 30, 2020
runrevmark requested a review from livecodeian April 30, 2020 06:55
runrevmark self-assigned this Apr 30, 2020
This patch adds a release note for bug 21305 where stackfile saving
on Windows was considerably slower than other platforms.

Copy link
Copy Markdown
Contributor

@livecode-vulcan review ok e8c93ea

Copy link
Copy Markdown
Contributor

💙 review by @livecodeian ok e8c93ea

livecode-vulcan added a commit that referenced this pull request Apr 30, 2020
[[ Bugfix 21305 ]] Improve performance of stackfile saving on Windows

This patch adds a cache of some critical system metrics which are used when writing field object content to a stackfile. Previously these metrics would be queried directly every time an `MCBlock` was serialized, they are now queried on startup and when a broadcast notification is received which indicates they may have changed. This makes a substantial difference to saving stackfiles which contain lots of text stored in fields.

Partially closes https://quality.livecode.com/show_bug.cgi?id=21305

Copy link
Copy Markdown
Contributor

😎 test success e8c93ea

  • try-community-armv6-android-sdk26_ndk16r15: success
  • try-community-armv7-android-ndk16r15: success
  • try-community-arm64-android-ndk16r15: success
  • try-community-x86-android-ndk16r15: success
  • try-community-x86_64-android-ndk16r15: success
  • try-community-js-emscripten-sdk1.35: success
  • try-community-universal-ios-iphoneos13.4: success
  • try-community-universal-ios-iphonesimulator13.4: success
  • try-community-universal-mac-macosx10.9: success
  • try-community-x86-linux-debian8: success
  • try-community-x86_64-linux-debian8: success
  • try-community-x86-win32: success
  • try-community-x86_64-win32: success

runrevmark merged commit c040fb3 into livecode:develop Apr 30, 2020
runrevmark deleted the bugfix-21305-api branch April 30, 2020 10:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants


Back | FazBrowse Home | New Git URL