MaterialDesignInXAML / MaterialDesignInXAML/MaterialDesignInXamlToolkit

Shadows and appearances improvements

Open
#2,377 1 comment 2 reactions 1 assignee View on GitHub

@Keboo is already working on this.

Since Jul 16, 2021.

enhancement up-for-grabs
Dominant language
C#
Stars
16.3k
Forks
3.5k
Avg merge
1d 22h
Merged PRs (30d)
8

Description

Hello to all!
I want to suggest some performance improvements for animations for MaterialDesignInXamlToolkit library and resolve some issues, I faced with.

So, the first one: don't use BitmapCache for Shadows and for animations. I suggest to use FastShadow (https://stackoverflow.com/questions/961875/wpf-animation-ui-features-performance-and-benchmarking) with the same appearance. Why don't use BitmapCache (and related ShadowAssist with default set for CacheMode)? BitmapCache invokes some problems on WPF, for example when user has multiple windows. And if those shadows are not static (for example when animate them in DrawerHost or other controls) I explained it in #2260 and https://stackoverflow.com/questions/66471514/wpf-rendering-issue-on-any-machine-related-to-bitmapcache. But if you want to test on your machine, please test this repo - https://github.com/Erapchu/GhostWindows
And please, just use one ShadowAssist instance instead of directly BitmapCache when coding in XAML.
Additionally, may be resolve issue with graphic artifacts? I remember one artifact related to #2125 issue.

This is just suggestions, and if maintainers don't want to rewrite some code, I'll understand it. Because it's may be hard work to rewrite controls and handle all of situations.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.