mirror of
https://git.citron-emu.org/citron/emulator
synced 2025-12-19 10:43:33 +00:00
feat: Add frame generation and enhance UE4 game compatibility
- Add frame generation settings (enabled/disabled, interpolation/extrapolation modes) - Add frame skipping settings (enabled/disabled, adaptive/fixed modes) - Implement frame skipping logic with adaptive and fixed modes - Enhance UE4 crash handling with recovery mechanisms - Add support for signed and float 32-bit image formats across shader backends - Update Vulkan Validation Layers to v1.4.321.0 - Fix duplicate frame skipping options in Qt UI - Improve memory handling for UE4 games (Hogwarts Legacy compatibility) - Add enhanced bindless texture handling with fallback approach - Update Android build configuration and dependencies Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -129,6 +129,14 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) {
|
||||
tr("Determines how sharpened the image will look while using FSR's dynamic contrast."));
|
||||
INSERT(Settings, fsr2_quality_mode, tr("FSR 2.0 Quality Mode:"),
|
||||
tr("Selects the quality mode for FSR 2.0 upscaling. Quality provides better image quality, Performance provides better performance."));
|
||||
INSERT(Settings, frame_generation, tr("Frame Generation:"),
|
||||
tr("Enables frame generation to create intermediate frames, potentially doubling the perceived frame rate."));
|
||||
INSERT(Settings, frame_generation_mode, tr("Frame Generation Mode:"),
|
||||
tr("Interpolation creates frames between existing ones, while Extrapolation predicts future frames."));
|
||||
INSERT(Settings, frame_skipping, tr("Frame Skipping:"),
|
||||
tr("Skips frames to maintain performance when the system cannot keep up with the target frame rate."));
|
||||
INSERT(Settings, frame_skipping_mode, tr("Frame Skipping Mode:"),
|
||||
tr("Adaptive mode skips frames based on performance, while Fixed mode skips a specific number of frames."));
|
||||
INSERT(Settings, anti_aliasing, tr("Anti-Aliasing Method:"),
|
||||
tr("The anti-aliasing method to use.\nSMAA offers the best quality.\nFXAA has a "
|
||||
"lower performance impact and can produce a better and more stable picture under "
|
||||
@@ -411,6 +419,26 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QWidget* parent) {
|
||||
PAIR(FSR2QualityMode, Performance, tr("Performance")),
|
||||
PAIR(FSR2QualityMode, UltraPerformance, tr("Ultra Performance")),
|
||||
}});
|
||||
translations->insert({Settings::EnumMetadata<Settings::FrameGeneration>::Index(),
|
||||
{
|
||||
PAIR(FrameGeneration, Disabled, tr("Disabled")),
|
||||
PAIR(FrameGeneration, Enabled, tr("Enabled")),
|
||||
}});
|
||||
translations->insert({Settings::EnumMetadata<Settings::FrameGenerationMode>::Index(),
|
||||
{
|
||||
PAIR(FrameGenerationMode, Interpolation, tr("Interpolation")),
|
||||
PAIR(FrameGenerationMode, Extrapolation, tr("Extrapolation")),
|
||||
}});
|
||||
translations->insert({Settings::EnumMetadata<Settings::FrameSkipping>::Index(),
|
||||
{
|
||||
PAIR(FrameSkipping, Disabled, tr("Disabled")),
|
||||
PAIR(FrameSkipping, Enabled, tr("Enabled")),
|
||||
}});
|
||||
translations->insert({Settings::EnumMetadata<Settings::FrameSkippingMode>::Index(),
|
||||
{
|
||||
PAIR(FrameSkippingMode, Adaptive, tr("Adaptive")),
|
||||
PAIR(FrameSkippingMode, Fixed, tr("Fixed")),
|
||||
}});
|
||||
translations->insert({Settings::EnumMetadata<Settings::AspectRatio>::Index(),
|
||||
{
|
||||
PAIR(AspectRatio, R16_9, tr("Default (16:9)")),
|
||||
|
||||
Reference in New Issue
Block a user