These are chat archives for AvaloniaUI/Avalonia

24th
Jun 2018
Gleb Bakanov
@Gotcha7770
Jun 24 2018 06:19
Hi everyone! Could anyone possibly help me. I Just cloned Avalonia repo to build sample projects but can't do this for several reasons. First of all the android projects can't be loaded. What is prerequisits for solution building? I use VS 2017 15.7.3. Maybe i should have some mobile tools installed? Another truble - i have some missing namespace "Portable.Xaml.Schema" and i can't understand where i should get it from...
Jeremy Koritzinsky
@jkoritzinsky
Jun 24 2018 06:28
Did you restore submodules? People usually forget that step
And for the full solution you need the Xamarin mobile tooling installed
Gleb Bakanov
@Gotcha7770
Jun 24 2018 06:43
i do Update-Package -reinstall
soerendd
@soerendd
Jun 24 2018 06:48
Jeremy meant git submodules
git submodule update
Gleb Bakanov
@Gotcha7770
Jun 24 2018 06:50
from solution directory?
soerendd
@soerendd
Jun 24 2018 06:51
Please look at http://avaloniaui.net/contributing/build. From the root of Avalonia repo
The correct git command is git submodule update --init
Gleb Bakanov
@Gotcha7770
Jun 24 2018 06:52
Oh, excuse me! I forget about RTFM ((
Yes, it gives me Portable.Xaml, thank you very much!
ahopper
@ahopper
Jun 24 2018 18:23
Just noticed that moving the mouse over a checkbox seems to grab between 1 and 2meg of memory which seems a bit excessive
Steven Kirk
@grokys
Jun 24 2018 19:31
Whaaa? That is not good...
Does it happen on the control catalog? Not at my computer right now
ahopper
@ahopper
Jun 24 2018 19:37
strangely not, but on a simple page of checkboxes it does for the first mouse over
ahopper
@ahopper
Jun 24 2018 20:02
it appears you need lots of checkboxes before it starts to happen, odd
Steven Kirk
@grokys
Jun 24 2018 21:12
could you do a memory snapshot before and after and diff them to see what's getting allocated?
(assuming you're using VS there's one builtin)
managed to save another 15mb on top of the savings from AvaloniaUI/Avalonia#1690
ahopper
@ahopper
Jun 24 2018 21:14
will do, tomorrow.
Steven Kirk
@grokys
Jun 24 2018 21:14
down to 64mb from nearly 156mb ;)
ahopper
@ahopper
Jun 24 2018 21:14
great
ahopper
@ahopper
Jun 24 2018 21:19
I was getting a bit nervous of the rx performance in profiling, this is all looking very much better
Steven Kirk
@grokys
Jun 24 2018 21:20
yeah, there's still a lot that can be done
we've been focusing on getting stuff working up until now, not getting it fast
Nelson Carrillo
@nc4rrillo
Jun 24 2018 21:21
I'm almost done with the skia text elements updates
ahopper
@ahopper
Jun 24 2018 21:21
I fully understand, I'm just greedy :)
Steven Kirk
@grokys
Jun 24 2018 21:21
@nc4rrillo oh cool!
thanks for taking on the skia stuff!
gives me time to do these perf improvements
Nelson Carrillo
@nc4rrillo
Jun 24 2018 21:23
no problem! its been interesting taking a look at the text backend impl
Steven Kirk
@grokys
Jun 24 2018 21:27
skia doesn't have any sort of text layout engine like DirectWrite, is that right?
Nelson Carrillo
@nc4rrillo
Jun 24 2018 21:28
very rudimentary, you can basically just get glyph dimensions, you need to do linebreaking and stuff yourself
Steven Kirk
@grokys
Jun 24 2018 21:29
and there's no library already written to do that for us?
Nelson Carrillo
@nc4rrillo
Jun 24 2018 21:30
It'd be worth a look at least. DirectWrite really is best in class when it comes to this stuff
even Pango had a cruddy API
Jeremy Koritzinsky
@jkoritzinsky
Jun 24 2018 21:30
Doesn't HarfBuzz do text measurement for Skia?
Nelson Carrillo
@nc4rrillo
Jun 24 2018 21:31
it'll give you stuff like glyph dimensions, but it isn't high level like DWrite is
where you can give it some constraints and it'll just do it all for you
you'd have a lot of the same logic I currently had to write to chunk up the calls to measure the text depending on font properties like size and typeface
My patch for Skia text-elements will add support for the new properties on the FormattedTextSpans and also refactor a fair amount of the text backend. A big part is just breaking longer routines down into smaller ones, making things extension methods where appropriate, renaming variables to make their intent clearer
Steven Kirk
@grokys
Jun 24 2018 21:36
yeah, the skia code was pretty gnarly
as is the win32/d2d code tbh
Nelson Carrillo
@nc4rrillo
Jun 24 2018 21:39
I think it would be nice if we were able to unify the render tests, even if it means specifying reasonable amounts of per-rendering backend fuzziness
Steven Kirk
@grokys
Jun 24 2018 22:56
yeah, it would be really nice if we could