Closed sirdoombox closed 1 week ago
Previewer uses Skia in software rendering mode. Your Skia API calls are likely to somehow be incompatible with Skia raster mode.
You can try checking for GrContext being null to determine if sw rendering is used.
Is this something we should be accounting for ourselves or an oversight in the previewer not failing gracefully? Are there any other contexts in which Skia could be running in software rendering mode or is this a design-time only consideration?
That's something you need to account yourselves.
Avalonia already handles software rendering well everywhere. And you shouldn't developer apps or especially libraries with an assumption that every target has a hardware renderer. If can be the case with Browser (especially on older Avalonia versions), it can be the case with app specific configuration (you can disable hardware acceleration per target).
In this specific case you are operating with Skia drawing directly, and it's your responsibility to write graceful fallbacks, if there is no GrContext. Or even if there is no Skia to begin with (which is only the case, if app developer used Direct2D or custom rendering backend explicitly).
Various VMs (especially linux and mac ones) will fall back to software rendering.
Excellent, I'll focus on implementing some fallbacks in that case. I've not really spent much time with Avalonia outside of desktop and don't use the previewer personally so I've not encountered this issue before.
Thanks for the input!
Describe the bug
When trying to preview a control that utilises an
ICustomDrawOperation
which in turn uses aSKRuntimeEffect
for rendering, the previewers in both VS and Rider crash. The full stack trace of the crash in Rider is as follows:Related source issue here: https://github.com/kikipoulet/SukiUI/issues/288
To Reproduce
SKRuntimeEffect
via anICustomDrawOperation
in the previewer of either Rider or VS.EffectDraw
is the custom draw operation.ShaderRenderControl
simply uses that custom draw operation.MainWindow
can be opened in the previewer to cause the crash.Expected behavior
No response
Avalonia version
11.X.X
OS
Windows
Additional context
No response