These are chat archives for AvaloniaUI/Avalonia

21st
Nov 2015
Nikita Tsukanov
@kekekeks
Nov 21 2015 01:01
Mkay, got iOS rendering our testapp with skia
Nikita Tsukanov
@kekekeks
Nov 21 2015 01:07
For some reason its slow as fuck
Nikita Tsukanov
@kekekeks
Nov 21 2015 01:25
[0:] Render took 00:00:00.0969571
10FPS at max
Render took 00:00:00.2347565
wtf
Nikita Tsukanov
@kekekeks
Nov 21 2015 01:40
People from the internet are telling that Skia GPU-based backend is actually slower than CPU-based
That was 4 years ago, but still
Nikita Tsukanov
@kekekeks
Nov 21 2015 01:51
Well, it seems that low performance is somehow bound to timers
@grokys DispatcherTimer now queues tick even if previous one wasn't handled
That might lead to queue overflow
It also ignores the fact that platform might call it from UI-thread
Nikita Tsukanov
@kekekeks
Nov 21 2015 02:05
I'll see what we can do about huge render time
May be we should switch to SW rendering or even abandon the idea of using skia for iOS
This message was deleted
Nikita Tsukanov
@kekekeks
Nov 21 2015 02:47
The question is, why does Skia have acceptable performance on Android
I don't get it at all
Nikita Tsukanov
@kekekeks
Nov 21 2015 03:23
May be that's because of retina display
Nikita Tsukanov
@kekekeks
Nov 21 2015 03:30
Basically, we need a proper rendering pipeline
Nikita Tsukanov
@kekekeks
Nov 21 2015 03:49
Hm, it seems that I haven't disabled default layer animations
Weston
@ronnyek
Nov 21 2015 03:49
lots of android hardware have rough equivalent to retina
afaik my note 5 has 4k equivalent
Nikita Tsukanov
@kekekeks
Nov 21 2015 03:50
Have you tried to run our test app on that?
Weston
@ronnyek
Nov 21 2015 03:50
negative
my dev environment isnt in a fantastic place
Steven Kirk
@grokys
Nov 21 2015 07:37
could be the render time that's the problem - it's something that I know needs a proper rewrite
KeyboardDevice/MouseDevice don't need to be abstract I guess - but they're expected to be created with a platform-specific version in the platform backend
Render took 00:00:00.2347565
ouch!
that seems too high for any reason
danwalmsley
@danwalmsley
Nov 21 2015 16:01
Hey guys... trying to install Perspex.Desktop nuget package... its throwing exceptions..
Install failed. Rolling back...
Package 'SharpDX 2.6.3' does not exist in project 'AvalonStudio'
Package 'SharpDX 2.6.3' does not exist in folder 'C:\development\repos\avalonstudio\AvalonStudio\packages'
System.NullReferenceException: Object reference not set to an instance of an object.
   at NuGet.Protocol.Core.v3.GlobalPackagesFolderUtility.<AddPackageAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
that appears in package manager console output!
Shahid Khan
@shahid-pk
Nov 21 2015 16:34
corert uses ryujit for compiling to native , currently their ryujit lacks implementation backend for arm. their is a guy who is trying to bring coreclr on arm, he contributed to the upstream some changes that made coreclr compile on arm ,, then kangaroo made it compile on arm64 bit and also was able to run a hello world.
if we some how port coreclr to arm , we will get aot for free and this is also the biggest hurdle for ios and android
This project will benefit a lot from that and won't have to use xamrin
Nikita Tsukanov
@kekekeks
Nov 21 2015 17:16

that seems too high for any reason

Yep, and it takes that much time even if I'm using 1x1 RenderTargetBitmap

Not sure what's happening there
May be I should do something about method tables
@danwalmsley switch to Paket
Nuget is cleanly broken for you
Nikita Tsukanov
@kekekeks
Nov 21 2015 18:02
2015-11-21 21:01:05.579 PerspexiOSTestApplication[4246:60b] Render started 00:00:17.0383019
2015-11-21 21:01:05.588 PerspexiOSTestApplication[4246:60b] Bounds updated 00:00:17.0470339
2015-11-21 21:01:05.598 PerspexiOSTestApplication[4246:60b] context created 00:00:17.0575359
2015-11-21 21:01:05.662 PerspexiOSTestApplication[4246:60b] rectangle filled created 00:00:17.1209503
2015-11-21 21:01:05.684 PerspexiOSTestApplication[4246:60b] Null render completed 00:00:17.1430992
2015-11-21 21:01:05.695 PerspexiOSTestApplication[4246:60b] Render completed 00:00:17.1540774
2015-11-21 21:01:05.704 PerspexiOSTestApplication[4246:60b] Render took 00:00:00.1156224
100 calls to DrawRect with empty rect take 20ms
WTF
Nikita Tsukanov
@kekekeks
Nov 21 2015 18:26
Oh, it "only" takes 4ms actually
Filling the whole screen with blue background takes 30ms however
which is outrageous
5ms to flip bufffers
wtf
For proper mobile support we clearly need 2 thins
1) proper render tree that won't redraw everything
2) background thread rendering
Nikita Tsukanov
@kekekeks
Nov 21 2015 18:33
May be it's managed->native ptr-based bride, that is slow
Steven Kirk
@grokys
Nov 21 2015 19:56
yeah, i suspect there's something wrong there. that's like 386 speeds
there's no way it should take 30ms to fill the screen
Nikita Tsukanov
@kekekeks
Nov 21 2015 19:58
I'll try to rewrite that stuff using GLKView
Steven Kirk
@grokys
Nov 21 2015 19:59
btw sorry everyone i've not been around much - some stuff came up. should be back to normal service next week though, hopefully.
Nikita Tsukanov
@kekekeks
Nov 21 2015 20:00
BTW, something weird happened with visual brush again
See xamltestapplication
Steven Kirk
@grokys
Nov 21 2015 20:01
will do
btw if anyone knows ruby, pls let me know, i need to ask some questions!
Nikita Tsukanov
@kekekeks
Nov 21 2015 20:06
I also found out that my RenderTargetBitmap implementation was very inefficient with gpu rendering
It has nothing to do with low FPS on ios through
Darnell Williams
@Seeker1437
Nov 21 2015 21:17
Who here is skilled witht he viewbox?
hmm bad chat
Nikita Tsukanov
@kekekeks
Nov 21 2015 21:58
~10 FPS seems to be normal for skia on iOS
Nikita Tsukanov
@kekekeks
Nov 21 2015 22:17
Well, it's either mono or perspex to be blamed for low FPS
And since perspex is doing fine on Android, I'd say it's Mono
I'm calling the same methods from ObjC and getting 60FPS
When I run rect drawing 10 times, I'm still getting ~50FPS
Hm
Nikita Tsukanov
@kekekeks
Nov 21 2015 22:26
Well, it's still around 25-30 FPS in retina mode
I'll try to improve fps by using GLKView
Nikita Tsukanov
@kekekeks
Nov 21 2015 22:56
Yeah, with GLKView I'm gettin 60FPS even for retina
But that's from ObjC-app
Nikita Tsukanov
@kekekeks
Nov 21 2015 23:36
Mkay, iOS, retina, filled display, rotating rectangles, FPS 60 (seems to be limited by iOS), render time is less than 1ms
But that's from ObjC
Which is our target performance to be achieved from C#