Giter Club home page Giter Club logo

Comments (18)

wang-bin avatar wang-bin commented on June 18, 2024

例子在哪

from mdk-sdk.

axojhf avatar axojhf commented on June 18, 2024

例子在哪

Avalonia官方那个是和Vulkan自定义渲染互操作的例子,和mdk这里没有关系,我是准备参考去集成的😂

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

互操作没啥意义

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

可以参考qmlrhi的例子

from mdk-sdk.

axojhf avatar axojhf commented on June 18, 2024

可以参考qmlrhi的例子

看过qmlrhi的例子
我这里尝试只设置VkImage那个参数的情况下,没有图像显示,有声音。
再尝试多设置了instance,phy_device,device。这次renderVideo调用几次后mdk动态库就出现了非法内存访问😂,暂时没排查出是哪里的问题。

所以就想问一下qmlrhi那里是最简单的调用方式了么,只用VkImage的情况下最少需要设置哪几个参数

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

qmlrhi差不多是最简单的了,还有个vkwindow例子。vk很罗嗦,必须设一堆参数比如instance device,光一个image没法用,不像d3d metal可以通过资源获取关联设备和其它信息,opengl直接能获取当前上下文,vk啥都做不了

from mdk-sdk.

axojhf avatar axojhf commented on June 18, 2024

qmlrhi差不多是最简单的了,还有个vkwindow例子。vk很罗嗦,必须设一堆参数比如instance device,光一个image没法用,不像d3d metal可以通过资源获取关联设备和其它信息,opengl直接能获取当前上下文,vk啥都做不了

好的,那我再去研究研究。
主要是之前用dx11和OpenGL在avalonia集成mdk都感觉不是特别理想(试下来gpu占用最低的是avalonia支持不全面的wgl),就想看看vk下资源占用能不能少一点,不然也不太想碰vk

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

最新的包MFT:d3d=11:shader_resource=1和D3D11:shader_resource=1可以显著降低gpu,但是amd显卡上有些奇怪的显示问题还没解决。窗口最大化gpu占用会增加比较明显,相比vlc和系统播放器增加得多,还不知道原因

from mdk-sdk.

axojhf avatar axojhf commented on June 18, 2024

最新的包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.

wang-bin avatar wang-bin commented on June 18, 2024

vlc gpu占用低有一个原因是解码和渲染用同一个逻辑设备,这是最理想的情况,处理起来会非常简单,mpv也是这么做的。我这边默认是解码和渲染用不同逻辑设备(后续也会加相同设备选项),glfwplay测试了下用d3d11解码、d3d11渲染到话性能上也能达到vlc、系统播放器的效果,但是还有几个设备间同步问题导致画面不对比较难解决,amd问题最多。用opengl渲染必然会导致性能下降,这个无解,要靠avalonia原生支持d3d11或d3d12

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

最新的包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.

axojhf avatar axojhf commented on June 18, 2024

好的,今天晚点时候我再试试

其实avalonia有一个开了4个月没动的Vulkan backend的pr,就不知道什么时候能正式支持vk了

from mdk-sdk.

axojhf avatar axojhf commented on June 18, 2024

Validation Error有个VUID-VkExportSemaphoreCreateInfo-handleTypes-01124
但是这个错误我在运行Avalonia官方Vulkan Demo的时候也有,但是那个Demo能正常显示,不知道是否有关
日志:
mdk.0.log

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

这个是avalonia掉的,用于同步,应该没关系。我看日志里一直有No render pass, create one,正常情况下只会出现一次

from mdk-sdk.

axojhf avatar axojhf commented on June 18, 2024

想问一下render pass一般是什么情况下创建的,我观察我的日志是在渲染尺寸发生改变的情况下会报这个No render pass, create one的日志,目前我这里窗口每发生改变,都会新建一个vkimage

from mdk-sdk.

axojhf avatar axojhf commented on June 18, 2024

感觉好麻烦,还是我学艺不精,这个issue暂时先搁置在这里了,以后有能力看Vulkan了再说😂

from mdk-sdk.

wang-bin avatar wang-bin commented on June 18, 2024

setRenderAPI的时候如果没提供render_pass就会重置

from mdk-sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.