GithubHelp home page GithubHelp logo

avalonia.iconbindingperftest's Introduction

Avalonia.IconBindingPerfTest

This repository provides the source codes of icons value binding performances test. Avalonia icons library are using https://github.com/AvaloniaUtils/Material.Icons.Avalonia

About this test

I'm very care about performances of binding value in AvaloniaUI. WPF gave me an bad experiences because binding in WPF are a lot slower than AvaloniaUI, and I thinking about performances when changes icons. so I created an simple project in my PC. Since this is my first time to create project about performances test, could contains some issues. Any suggestions to improve tests are welcome!

I taked widget from Material.Icons.Avalonia, named MaterialIcon. This widget using templated binding with converter. and another widget are from Material.Avalonia commit, named PackIcon. It uses binding but no converter.

My RIGS

Processor: AMD Ryzen 3 1200 Quad-Core
RAM: Patrick Viper 2x4GB 2666MHz
Graphics card: nVIDIA GeForce GTX 1050 Ti 4GB

Results (lower is better):

As you can see converter are much faster when a few changes happen, and binding without converter will faster when changes are too much, especially 10000 times changes. But in real cases, a lot changes that higher than 100 is almost impossible, it's too EXTREMELY RARE TO HAPPEN, so binding with converter are better in this test.

Since WPF gaves me bad experiences in binding and binding with converters, I have some negative opinion of binding. But after this tests, I think AvaloniaUI's binding are much better than WPF on performances and conveniences. Recently I'm using .NET Core with AvaloniaUI Framework to create my applications, bindings is often used features in my works. AvaloniaUI's binding are more comfortable than WPF, because it gaves you binding with simplest way, even functions binding.

avalonia.iconbindingperftest's People

Contributors

appleneko2001 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.