本文是一个系列,希望大家从第一篇开始看
如果只是使用 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 的元素。
相似问题