This repository was archived by the owner on Aug 31, 2021. It is now read-only.
[[ Bugfix 21305 ]] Improve performance of stackfile saving on Windows#7342
Merged
runrevmark merged 2 commits intolivecode:developfrom Apr 30, 2020
Merged
[[ Bugfix 21305 ]] Improve performance of stackfile saving on Windows#7342runrevmark merged 2 commits intolivecode:developfrom
runrevmark merged 2 commits intolivecode:developfrom
Conversation
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()`.
This patch adds a release note for bug 21305 where stackfile saving on Windows was considerably slower than other platforms.
4d5fbea to
e8c93ea
Compare
Contributor
|
@livecode-vulcan review ok e8c93ea |
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
Contributor
|
😎 test success e8c93ea
|
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.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
MCBlockwas 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