Win2D CanvasBitmap vs Microsoft.UI.Composition CompositionImage

EDIT:

They removed CompositionImage in the latest build ...


I would like to know the difference between Win2D CanvasBitmapand Microsoft.UI.Composition CompositionImage.

In both cases, I was able to display images, but I really don't know / don't understand the difference between the two approaches.


Approach CanvasBitmap:

XAML:

<xaml:CanvasControl Draw="OnDraw"  />

code:

private void Onraw(CanvasControl sender, CanvasAnimatedDrawEventArgs e)
        {
           var image = await CanvasBitmap.LoadAsync(...);
           e.DrawingSession.DrawImage(...);
        }

Approach CompositionImage:

XAML:

 <Grid x:Name="Host" />

code:

ContainerVisual rootVisual =  
        (ContainerVisual)ElementCompositionPreview.GetContainerVisual(this.Host);
Compositor compositor = rootVisual.Compositor;
CompositionGraphicsDevice device = compositor.DefaultGraphicsDevice,

CompositionImage image = device.CreateImageFromUri(...);

ImageVisual content = Compositor.CreateImageVisual();
content.Image = image;

rootVisual.Children.InsertAtTop(content);

Who cares? What is the best approach?

To put an object in context, I have an application that displays a lot of small images. I need the application to be low in memory and quickly draw images.

Thanks Adrien.

+4
source share
2 answers

Win2D - 2D- directx - , directx, .

API- XAML DirectX - , Win2D, "canvas" - :)

, Win2D CanvasBitmap Image XAML, CompositionImage ImageSource, .


, . , API- Composition Windows 10 TH2 (1511), , RTM ( 10240), Win2D.

+2

...

A CanvasControl ImageVisual . ImageVisual .

, CanvasBitmaps CanvasControl ( CanvasAnimatedControl), , - 2D-, , , , Win2D - .

Composition XAML, , , .

+2

Source: https://habr.com/ru/post/1617656/


All Articles