首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高效而且灵活不符合,所以本文就来告诉大家如何使用 SharpDx 高性能渲染同时使用 WPF 的元素?

高效而且灵活不符合,所以本文就来告诉大家如何使用 SharpDx 高性能渲染同时使用 WPF 的元素?

提问于 2025-08-21 14:06:33
回答 0关注 0查看 18

本文是一个系列,希望大家从第一篇开始看

  • WPF 使用 Direct2D1 画图入门
  • WPF 使用 Direct2D1 画图 绘制基本图形
  • WPF 使用 SharpDX
  • WPF 使用 SharpDX 在 D3DImage 显示
  • WPF 使用封装的 SharpDx 控件
  • WPF 使用 SharpDx 异步渲染

如果只是使用 SharpDX 使用窗口渲染,就无法使用其它的 WPF 控件,实际使用经常只是使用 SharpDX 加快一些渲染,很多元素都是不需要。

如果拿来 HWND 做渲染,那么 WPF 只是提供一个窗口,这和 WPF 的设计,高效而且灵活不符合,所以本文就来告诉大家如何使用 SharpDx 高性能渲染同时使用 WPF 的元素。

微软为了大家方便使用 Direct2D 就添加了 D3DImage ,虽然这个元素不是很好用。

介绍

先告诉大家什么是 D3DImage ,这是一个可以和 Direct2D、3D 交互的元素,他是一个 ImageSource ,可以放在 Image 控件显示。

使用 D3DImage 会发送一次内存复制,如果在显卡渲染,那么就会先从显卡获得位图,复制到 D3DImage 作为图片显示到 WPF ,也就是同个位图需要现在显卡渲染,然后复制到内存,让 WPF 渲染图片。

一般使用 D3DImage 都不能拿到比原来好的性能。

那么 D3DImage 有什么用?一般渲染是比较慢的,如果需要使用 Dx12 进行加速,而 WPF 无法使用 dx12 那么就需要使用 dx12 渲染。虽然需要使用内存复制,但是经常使用 dx12 渲染的速度比内存复制然后 WPF 显示的速度快。

在 SharpDX 可以使用 D3DImage 进行离屏渲染,本来 WPF 只能有一个渲染线程,但是使用了 SharpDX 就可以有多个渲染线程,这时通过 dx12 加速,一般渲染速度会比不使用 SharpDX 快。

m.ximalaya.com/sound/901916755?083=6

m.ximalaya.com/sound/901916755?9=53

m.ximalaya.com/sound/901916755?960=37

m.ximalaya.com/sound/901916755?225=188

m.ximalaya.com/sound/901916755?41=59

m.ximalaya.com/sound/901916754?936=8

m.ximalaya.com/sound/901916754?5=85

m.ximalaya.com/sound/901916754?558=93

m.ximalaya.com/sound/901916754?360=937

m.ximalaya.com/sound/901916754?82=25

m.ximalaya.com/sound/901916753?221=8

m.ximalaya.com/sound/901916753?1=21

m.ximalaya.com/sound/901916753?992=82

m.ximalaya.com/sound/901916753?042=159

m.ximalaya.com/sound/901916753?49=15

m.ximalaya.com/sound/901916752?933=0

m.ximalaya.com/sound/901916752?0=73

m.ximalaya.com/sound/901916752?192=42

m.ximalaya.com/sound/901916752?115=426

m.ximalaya.com/sound/901916752?04=81

m.ximalaya.com/sound/901916748?638=7

m.ximalaya.com/sound/901916748?3=08

m.ximalaya.com/sound/901916748?386=41

m.ximalaya.com/sound/901916748?053=426

m.ximalaya.com/sound/901916748?90=78

m.ximalaya.com/sound/901916747?533=4

m.ximalaya.com/sound/901916747?7=19

m.ximalaya.com/sound/901916747?643=34

m.ximalaya.com/sound/901916747?224=752

m.ximalaya.com/sound/901916747?15=44

m.ximalaya.com/sound/901916746?684=1

m.ximalaya.com/sound/901916746?7=92

m.ximalaya.com/sound/901916746?581=48

m.ximalaya.com/sound/901916746?693=272

m.ximalaya.com/sound/901916746?26=93

m.ximalaya.com/sound/901916745?945=5

m.ximalaya.com/sound/901916745?2=76

m.ximalaya.com/sound/901916745?889=16

m.ximalaya.com/sound/901916745?091=361

m.ximalaya.com/sound/901916745?66=22

m.ximalaya.com/sound/901916744?927=4

m.ximalaya.com/sound/901916744?0=28

m.ximalaya.com/sound/901916744?729=33

m.ximalaya.com/sound/901916744?570=516

m.ximalaya.com/sound/901916744?61=67

m.ximalaya.com/sound/901916743?888=9

m.ximalaya.com/sound/901916743?7=95

m.ximalaya.com/sound/901916743?410=73

m.ximalaya.com/sound/901916743?196=658

m.ximalaya.com/sound/901916743?89=23

m.ximalaya.com/sound/901916740?244=2

m.ximalaya.com/sound/901916740?9=41

m.ximalaya.com/sound/901916740?252=44

m.ximalaya.com/sound/901916740?631=808

m.ximalaya.com/sound/901916740?68=73

m.ximalaya.com/sound/901916739?954=8

m.ximalaya.com/sound/901916739?1=21

m.ximalaya.com/sound/901916739?824=11

m.ximalaya.com/sound/901916739?735=740

m.ximalaya.com/sound/901916739?77=80

m.ximalaya.com/sound/901916733?145=4

m.ximalaya.com/sound/901916733?9=55

m.ximalaya.com/sound/901916733?946=97

m.ximalaya.com/sound/901916733?870=252

m.ximalaya.com/sound/901916733?85=41

m.ximalaya.com/sound/901916736?981=9

m.ximalaya.com/sound/901916736?1=69

m.ximalaya.com/sound/901916736?825=26

m.ximalaya.com/sound/901916736?304=081

m.ximalaya.com/sound/901916736?15=93

m.ximalaya.com/sound/901916735?374=1

m.ximalaya.com/sound/901916735?8=92

m.ximalaya.com/sound/901916735?248=57

m.ximalaya.com/sound/901916735?198=254

m.ximalaya.com/sound/901916735?93=15

m.ximalaya.com/sound/901916734?598=7

m.ximalaya.com/sound/901916734?5=04

m.ximalaya.com/sound/901916734?871=93

m.ximalaya.com/sound/901916734?986=586

m.ximalaya.com/sound/901916734?64=42

m.ximalaya.com/sound/901916731?643=4

m.ximalaya.com/sound/901916731?5=48

m.ximalaya.com/sound/901916731?525=32

m.ximalaya.com/sound/901916731?363=795

m.ximalaya.com/sound/901916731?62=83

m.ximalaya.com/sound/901916730?515=3

m.ximalaya.com/sound/901916730?0=37

m.ximalaya.com/sound/901916730?633=00

m.ximalaya.com/sound/901916730?666=889

m.ximalaya.com/sound/901916730?84=17

m.ximalaya.com/sound/901916729?791=2

m.ximalaya.com/sound/901916729?0=68

m.ximalaya.com/sound/901916729?917=31

m.ximalaya.com/sound/901916729?091=422

m.ximalaya.com/sound/901916729?97=80

m.ximalaya.com/sound/901916728?800=2

m.ximalaya.com/sound/901916728?9=30

m.ximalaya.com/sound/901916728?122=46

m.ximalaya.com/sound/901916728?714=396

m.ximalaya.com/sound/901916728?03=15

m.ximalaya.com/sound/901916727?728=6

m.ximalaya.com/sound/901916727?8=04

m.ximalaya.com/sound/901916727?810=63

m.ximalaya.com/sound/901916727?951=261

m.ximalaya.com/sound/901916727?25=57

m.ximalaya.com/sound/901916726?579=3

m.ximalaya.com/sound/901916726?7=21

m.ximalaya.com/sound/901916726?752=29

m.ximalaya.com/sound/901916726?171=417

m.ximalaya.com/sound/901916726?86=18

高效而且灵活不符合,所以本文就来告诉大家如何使用 SharpDx 高性能渲染同时使用 WPF 的元素。

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档