diff --git a/README.md b/README.md index bb2839e..27d8a18 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,18 @@ -## Stremio shell: new gen - -A Windows-only shell using WebView2 and MPV - -The MPV library is obtained from [sourceForge](https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) where the latest working DLL is in the build `mpv-dev-i686-20211212-git-0e76372`. It must be `mpv-1.dll` and not `mpv-2.dll` unless [libmpv-rs](https://github.com/ParadoxSpiral/libmpv-rs) update their repo. The `mpv.lib` file is generated with the developer prompt for VS2019 using the following command: - -``` -lib /def:mpv.def /machine:x86 /out:mpv.lib -``` - -Goals: -* Performance -* Reliability -* Easy to ship - -In all three, this architecture excels the [Qt-based shell](https://github.com/Stremio/stremio-shell): it is about 2-5x more efficient depending on the use case, as it allows MPV to render directly in the window through it's optimal video output rather than using libmpv to integrate with Qt. - -This is due to Qt having a complex rendering pipeline involving ANGLE and multiple levels of composing and drawing to textures, which inhibits full HW acceleration. - -Meanwhile in this setup MPV uses whichever pipeline it considers to be optimal (like the mpv desktop app), which is normally d3d11, allowing full HW acceleration. - -For web rendering, we use the native WebView2, which is Chromium based but shipped as a part of Windows 10: therefore we do not need to ship our own "distribution" of Chromium. - -Finally, this should be a lot more reliable as it uses a much simper and more native overall architecture. +## Stremio shell: new gen + +A Windows-only shell using WebView2 and MPV + +Goals: +* Performance +* Reliability +* Easy to ship + +In all three, this architecture excels the [Qt-based shell](https://github.com/Stremio/stremio-shell): it is about 2-5x more efficient depending on the use case, as it allows MPV to render directly in the window through it's optimal video output rather than using libmpv to integrate with Qt. + +This is due to Qt having a complex rendering pipeline involving ANGLE and multiple levels of composing and drawing to textures, which inhibits full HW acceleration. + +Meanwhile in this setup MPV uses whichever pipeline it considers to be optimal (like the mpv desktop app), which is normally d3d11, allowing full HW acceleration. + +For web rendering, we use the native WebView2, which is Chromium based but shipped as a part of Windows 10: therefore we do not need to ship our own "distribution" of Chromium. + +Finally, this should be a lot more reliable as it uses a much simper and more native overall architecture. diff --git a/mpv.dll b/mpv.dll index d9710e9..5214086 100644 Binary files a/mpv.dll and b/mpv.dll differ diff --git a/mpv.lib b/mpv.lib index d6d1a24..f2eeb4d 100644 Binary files a/mpv.lib and b/mpv.lib differ diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 4095b68..2d0300d 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "stable-i686-pc-windows-msvc" +channel = "stable-x86_64-pc-windows-msvc"