Comments (18)
例子在哪
from mdk-sdk.
例子在哪
Avalonia官方那个是和Vulkan自定义渲染互操作的例子,和mdk这里没有关系,我是准备参考去集成的😂
from mdk-sdk.
互操作没啥意义
from mdk-sdk.
可以参考qmlrhi的例子
from mdk-sdk.
可以参考qmlrhi的例子
看过qmlrhi的例子
我这里尝试只设置VkImage那个参数的情况下,没有图像显示,有声音。
再尝试多设置了instance,phy_device,device。这次renderVideo调用几次后mdk动态库就出现了非法内存访问😂,暂时没排查出是哪里的问题。
所以就想问一下qmlrhi那里是最简单的调用方式了么,只用VkImage的情况下最少需要设置哪几个参数
from mdk-sdk.
qmlrhi差不多是最简单的了,还有个vkwindow例子。vk很罗嗦,必须设一堆参数比如instance device,光一个image没法用,不像d3d metal可以通过资源获取关联设备和其它信息,opengl直接能获取当前上下文,vk啥都做不了
from mdk-sdk.
qmlrhi差不多是最简单的了,还有个vkwindow例子。vk很罗嗦,必须设一堆参数比如instance device,光一个image没法用,不像d3d metal可以通过资源获取关联设备和其它信息,opengl直接能获取当前上下文,vk啥都做不了
好的,那我再去研究研究。
主要是之前用dx11和OpenGL在avalonia集成mdk都感觉不是特别理想(试下来gpu占用最低的是avalonia支持不全面的wgl),就想看看vk下资源占用能不能少一点,不然也不太想碰vk
from mdk-sdk.
from mdk-sdk.
最新的包MFT:d3d=11:shader_resource=1和D3D11:shader_resource=1可以显著降低gpu,但是amd显卡上有些奇怪的显示问题还没解决。窗口最大化gpu占用会增加比较明显,相比vlc和系统播放器增加得多,还不知道原因
from mdk-sdk.
最新的包MFT:d3d=11:shader_resource=1和D3D11:shader_resource=1可以显著降低gpu,但是amd显卡上有些奇怪的显示问题还没解决。窗口最大化gpu占用会增加比较明显,相比vlc和系统播放器增加得多,还不知道原因
确实gpu占用有一点下降,感谢
今天试了试Vulkan,成功在Avalonia里设置rt, renderTargetInfo, instance, device, graphics_queue没有报错,在没有设置currentCommandBuffer的情况下调用RenderVideo会报错,设置了之后不报错了,但是依然没有图像显示出来(有声音)😂,真不知道会是哪里设置不对了
from mdk-sdk.
vlc gpu占用低有一个原因是解码和渲染用同一个逻辑设备,这是最理想的情况,处理起来会非常简单,mpv也是这么做的。我这边默认是解码和渲染用不同逻辑设备(后续也会加相同设备选项),glfwplay测试了下用d3d11解码、d3d11渲染到话性能上也能达到vlc、系统播放器的效果,但是还有几个设备间同步问题导致画面不对比较难解决,amd问题最多。用opengl渲染必然会导致性能下降,这个无解,要靠avalonia原生支持d3d11或d3d12
from mdk-sdk.
最新的包MFT:d3d=11:shader_resource=1和D3D11:shader_resource=1可以显著降低gpu,但是amd显卡上有些奇怪的显示问题还没解决。窗口最大化gpu占用会增加比较明显,相比vlc和系统播放器增加得多,还不知道原因
确实gpu占用有一点下降,感谢
今天试了试Vulkan,成功在Avalonia里设置rt, renderTargetInfo, instance, device, graphics_queue没有报错,在没有设置currentCommandBuffer的情况下调用RenderVideo会报错,设置了之后不报错了,但是依然没有图像显示出来(有声音)😂,真不知道会是哪里设置不对了
装个vulkan sdk,在vkconfig里启用validation,然后mdk会把vk的错误打到日志里
from mdk-sdk.
好的,今天晚点时候我再试试
其实avalonia有一个开了4个月没动的Vulkan backend的pr,就不知道什么时候能正式支持vk了
from mdk-sdk.
Validation Error有个VUID-VkExportSemaphoreCreateInfo-handleTypes-01124
但是这个错误我在运行Avalonia官方Vulkan Demo的时候也有,但是那个Demo能正常显示,不知道是否有关
日志:
mdk.0.log
from mdk-sdk.
这个是avalonia掉的,用于同步,应该没关系。我看日志里一直有No render pass, create one
,正常情况下只会出现一次
from mdk-sdk.
想问一下render pass一般是什么情况下创建的,我观察我的日志是在渲染尺寸发生改变的情况下会报这个No render pass, create one
的日志,目前我这里窗口每发生改变,都会新建一个vkimage
from mdk-sdk.
感觉好麻烦,还是我学艺不精,这个issue暂时先搁置在这里了,以后有能力看Vulkan了再说😂
from mdk-sdk.
setRenderAPI的时候如果没提供render_pass就会重置
from mdk-sdk.
Related Issues (20)
- 开启最快速度解码后音频严重滞后 HOT 6
- setLoop(-1); 有些电脑不生效 HOT 4
- android使用sync控制视频进度的时候,会不断间隔黑屏 HOT 6
- 国产aarch64架构的cpu和国产系统的, 怎么使用mdk-sdk? HOT 4
- 是否提供播放进度变化positionchanged信号 HOT 1
- Crash on Debian 12 HOT 12
- avdevice://dshow:video=screen-capture-recorder 无画面 HOT 2
- sync控制视频进度的时候,音画不同步 HOT 7
- 单独渲染YUV数据,ID3D11Texture2D,LPDIRECT3DSURFACE9 HOT 4
- 如何设置AVFormatContext.video_codec_id = AV_CODEC_ID_MJPEG HOT 31
- Dead lock on mp4 playing HOT 3
- Question. I have a device that receives an rtsp stream and plays it through your library. Is it possible to stream this video to another device HOT 3
- Video playback occasionally get stuck in this reproducer HOT 9
- 是否可以提供仅有动态库的多系统环境下的nuget包 HOT 4
- mdk-sdk crash on custom Url or protocol HOT 4
- Prevent video from unloading after end HOT 1
- 仿照WindowsStore Example在WinUI3上初始化SwapChain失败 HOT 40
- 去掉不必要的解码器 HOT 1
- Dead lock HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mdk-sdk.