Metal sounded like a good idea to get in the emulator but frankly I underestimated just how experimental and not ready it was. From my write up in the Discord: ``` As is, Metal supports only a few games. The games it does support freeze on first use of not playing them via Vulkan, because shader translation is broken. So you need to use a dirty hack to not delete all your shaders. Not to mention it breaks many games via MoltenVK because of changes to the shared GPU code. Merging Metal seemed like a great idea, because of the few games it does support. But I don't think it's worth it. Many of the games it breaks via MoltenVK *don't work via Metal*. Which effectively makes current Ryubing worse for Mac users than Ryujinx 1.1.1403. I think what I'm gonna do is revert Metal, and reopen it as a PR. That way, you can still take advantage of the Metal backend as is, but without making other games worse with no solution. ``` For what it's worth, the shader translation part could at least be "fixed" by always applying a 30ms delay for shader translation to Metal. That being said, that solution sucks ass. The MoltenVK regressions are even worse. I hope this is not a let down to the Mac users. I hope you realize I'm reverting this because you're actively getting a worse experience with it in the emulator.
50 lines
2.0 KiB
XML
50 lines
2.0 KiB
XML
<UserControl
|
|
x:Class="Ryujinx.Ava.UI.Views.Settings.SettingsHacksView"
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
|
mc:Ignorable="d"
|
|
x:DataType="viewModels:SettingsViewModel">
|
|
<Design.DataContext>
|
|
<viewModels:SettingsViewModel />
|
|
</Design.DataContext>
|
|
<ScrollViewer
|
|
Name="HacksPage"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalScrollBarVisibility="Disabled"
|
|
VerticalScrollBarVisibility="Auto">
|
|
<Border Classes="settings">
|
|
<StackPanel
|
|
Margin="10"
|
|
HorizontalAlignment="Center"
|
|
Orientation="Vertical"
|
|
Spacing="5">
|
|
<TextBlock
|
|
HorizontalAlignment="Center"
|
|
Classes="h1"
|
|
Text="Dirty Hacks" />
|
|
<TextBlock
|
|
Foreground="{DynamicResource SecondaryTextColor}"
|
|
TextDecorations="Underline"
|
|
Text="Highly specific hacks & tricks to alleviate performance issues, crashing, or freezing. Will cause issues." />
|
|
<StackPanel
|
|
Margin="0,10,0,0"
|
|
Orientation="Horizontal"
|
|
HorizontalAlignment="Center"
|
|
ToolTip.Tip="{Binding DirtyHacks.Xc2MenuFixTooltip}">
|
|
<CheckBox
|
|
Margin="0"
|
|
IsChecked="{Binding DirtyHacks.Xc2MenuSoftlockFix}"/>
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
Text="Xenoblade Chronicles 2 Menu Softlock Fix" />
|
|
</StackPanel>
|
|
<Separator/>
|
|
</StackPanel>
|
|
</Border>
|
|
</ScrollViewer>
|
|
</UserControl>
|