Point1:及时释放MediaElement
MediaElement调用的系统Windows Media Player. WMP播放不出来的视频,在WPF程序里也会播不出来。 事实上MediaPlayer挺费内存和GPU的, UserControl.Unloaded中一定要及时释放播放器,否则最常见的问题,视频不显示了,但是视频声音还在。
Tips:
有时候明明是常见的.mp4. .wmv视频文件,其他播放器能正常播放,但是在Windows Media Player中无法播放,WPF程序里也没法播放,崩着急, 检查下视频编码。 比如.mp4文件的编码就有:Divx;Xvid; H264; H265。 wmv编码有:WMV1,WMV2,WMV3, WMV9。 移动端以及浏览器端支持最好的视频格式为.H264编码、 音频编码.AAC的mp4文件。若WPF中无法播放mp4. wmv或其他格式视频,可以尝试对视频进行格式转换、变化下编码。
Point2:尽量用DispatcherTimer替代CompositionTarget.Rendering
CompositionTarget.Rendering在使用时,若GPU、CPU耗费较高,鼠标滑动一下,都能感觉出程序节奏的明显不稳定。
比如在做内容滚动时,推荐使用DispatchTimer。
Point3:大量UI对象需要创建或者加载
数量级超大时,用虚拟化的方式实现&#x