mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-11 01:25:07 +02:00
Rework the present mode settings, refactor.
This commit is contained in:
@@ -161,6 +161,13 @@ public:
|
||||
void BeginFrame(DebugFlags debugFlags) override;
|
||||
void EndFrame() override;
|
||||
void Present(PresentMode presentMode) override;
|
||||
PresentMode GetCurrentPresentMode() const override {
|
||||
if (currentInterval_ == 1) {
|
||||
return PresentMode::FIFO;
|
||||
} else {
|
||||
return PresentMode::IMMEDIATE;
|
||||
}
|
||||
}
|
||||
|
||||
int GetFrameCount() override { return frameCount_; }
|
||||
|
||||
@@ -272,6 +279,8 @@ private:
|
||||
D3D_FEATURE_LEVEL featureLevel_;
|
||||
std::string adapterDesc_;
|
||||
std::vector<std::string> deviceList_;
|
||||
|
||||
int currentInterval_ = -1;
|
||||
};
|
||||
|
||||
D3D11DrawContext::D3D11DrawContext(ComPtr<ID3D11Device> device, ComPtr<ID3D11DeviceContext> deviceContext, ComPtr<ID3D11Device1> device1, ComPtr<ID3D11DeviceContext1> deviceContext1, ComPtr<IDXGISwapChain> swapChain, D3D_FEATURE_LEVEL featureLevel, HWND hWnd, std::vector<std::string> deviceList, int maxInflightFrames)
|
||||
@@ -492,6 +501,7 @@ void D3D11DrawContext::Present(PresentMode presentMode) {
|
||||
#endif
|
||||
}
|
||||
swapChain_->Present(interval, flags);
|
||||
currentInterval_ = interval;
|
||||
}
|
||||
|
||||
curRenderTargetView_.Reset();
|
||||
|
||||
@@ -368,6 +368,9 @@ public:
|
||||
void BeginFrame(DebugFlags debugFlags) override;
|
||||
void EndFrame() override;
|
||||
void Present(PresentMode mode) override;
|
||||
PresentMode GetCurrentPresentMode() const override {
|
||||
return requestedPresentMode_;
|
||||
}
|
||||
|
||||
int GetFrameCount() override {
|
||||
return frameCount_;
|
||||
@@ -527,6 +530,8 @@ private:
|
||||
GLPushBuffer *push;
|
||||
};
|
||||
FrameData frameData_[GLRenderManager::MAX_INFLIGHT_FRAMES]{};
|
||||
|
||||
PresentMode requestedPresentMode_{};
|
||||
};
|
||||
|
||||
static constexpr int MakeIntelSimpleVer(int v1, int v2, int v3) {
|
||||
@@ -812,8 +817,14 @@ void OpenGLContext::EndFrame() {
|
||||
}
|
||||
|
||||
void OpenGLContext::Present(PresentMode presentMode) {
|
||||
if ((caps_.presentModesSupported & presentMode) == 0) {
|
||||
ERROR_LOG(Log::G3D, "Present mode %d not supported", (int)presentMode);
|
||||
_dbg_assert_(false);
|
||||
}
|
||||
|
||||
renderManager_.Present();
|
||||
frameCount_++;
|
||||
requestedPresentMode_ = presentMode;
|
||||
}
|
||||
|
||||
void OpenGLContext::Invalidate(InvalidationFlags flags) {
|
||||
|
||||
@@ -946,10 +946,10 @@ void VulkanContext::SetDebugNameImpl(uint64_t handle, VkObjectType type, const c
|
||||
|
||||
VkResult VulkanContext::InitSurface(WindowSystem winsys, void *data1, void *data2) {
|
||||
winsys_ = winsys;
|
||||
if (winsysData1_ != data1) {
|
||||
if (winsysData1_ != data1 && winsysData1_ != 0) {
|
||||
WARN_LOG(Log::G3D, "winsysData1 changed from %p to %p", winsysData1_, data1);
|
||||
}
|
||||
if (winsysData2_ != data2) {
|
||||
if (winsysData2_ != data2 && winsysData2_ != 0) {
|
||||
WARN_LOG(Log::G3D, "winsysData2 changed from %p to %p", winsysData2_, data2);
|
||||
}
|
||||
winsysData1_ = data1;
|
||||
|
||||
@@ -501,7 +501,21 @@ public:
|
||||
|
||||
void BeginFrame(DebugFlags debugFlags) override;
|
||||
void EndFrame() override;
|
||||
|
||||
void Present(PresentMode presentMode) override;
|
||||
PresentMode GetCurrentPresentMode() const override {
|
||||
switch (vulkan_->GetPresentMode()) {
|
||||
case VK_PRESENT_MODE_IMMEDIATE_KHR:
|
||||
return PresentMode::IMMEDIATE;
|
||||
case VK_PRESENT_MODE_MAILBOX_KHR:
|
||||
return PresentMode::MAILBOX;
|
||||
case VK_PRESENT_MODE_FIFO_KHR:
|
||||
case VK_PRESENT_MODE_FIFO_RELAXED_KHR:
|
||||
case VK_PRESENT_MODE_FIFO_LATEST_READY_KHR:
|
||||
default:
|
||||
return PresentMode::FIFO;
|
||||
}
|
||||
}
|
||||
|
||||
int GetFrameCount() override {
|
||||
return frameCount_;
|
||||
|
||||
@@ -860,6 +860,7 @@ public:
|
||||
|
||||
// Some backends also can't change presentation mode immediately.
|
||||
virtual void Present(PresentMode presentMode) = 0;
|
||||
virtual PresentMode GetCurrentPresentMode() const = 0;
|
||||
|
||||
// This should be avoided as much as possible, in favor of clearing when binding a render target, which is native
|
||||
// on Vulkan.
|
||||
|
||||
+1
-19
@@ -605,24 +605,6 @@ struct ConfigTranslator {
|
||||
|
||||
typedef ConfigTranslator<GPUBackend, GPUBackendToString, GPUBackendFromString> GPUBackendTranslator;
|
||||
|
||||
static int FastForwardModeFromString(const std::string &s) {
|
||||
if (!strcasecmp(s.c_str(), "CONTINUOUS"))
|
||||
return (int)FastForwardMode::CONTINUOUS;
|
||||
if (!strcasecmp(s.c_str(), "SKIP_FLIP"))
|
||||
return (int)FastForwardMode::SKIP_FLIP;
|
||||
return DefaultFastForwardMode();
|
||||
}
|
||||
|
||||
static std::string FastForwardModeToString(int v) {
|
||||
switch (FastForwardMode(v)) {
|
||||
case FastForwardMode::CONTINUOUS:
|
||||
return "CONTINUOUS";
|
||||
case FastForwardMode::SKIP_FLIP:
|
||||
return "SKIP_FLIP";
|
||||
}
|
||||
return "CONTINUOUS";
|
||||
}
|
||||
|
||||
static std::string DefaultInfrastructureUsername() {
|
||||
// If the user has already picked a Nickname that satisfies the rules and is not "PPSSPP",
|
||||
// let's use that.
|
||||
@@ -718,7 +700,7 @@ static const ConfigSetting graphicsSettings[] = {
|
||||
ConfigSetting("TexScalingType", &g_Config.iTexScalingType, 0, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("TexDeposterize", &g_Config.bTexDeposterize, false, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("TexHardwareScaling", &g_Config.bTexHardwareScaling, false, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("VSync", &g_Config.bVSync, true, CfgFlag::PER_GAME),
|
||||
ConfigSetting("VerticalSync", &g_Config.bVSync, true, CfgFlag::PER_GAME),
|
||||
ConfigSetting("LowLatencyPresent", &g_Config.bLowLatencyPresent, true, CfgFlag::PER_GAME),
|
||||
ConfigSetting("BloomHack", &g_Config.iBloomHack, 0, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
|
||||
|
||||
@@ -147,14 +147,6 @@ ENUM_CLASS_BITOPS(DisableHLEFlags);
|
||||
std::string GPUBackendToString(GPUBackend backend);
|
||||
GPUBackend GPUBackendFromString(std::string_view backend);
|
||||
|
||||
// Vulkan present modes, linearized. Currently in order of lowest to highest latency, hopefully won't change in the future.
|
||||
// NOTE: These values DO NOT match the flags in DrawContext caps - these are not used as a bitfield.
|
||||
enum class PresentMode {
|
||||
Immediate = 0, // VK_PRESENT_MODE_IMMEDIATE_KHR
|
||||
Mailbox = 1, // VK_PRESENT_MODE_MAILBOX_KHR
|
||||
Fifo = 2, // VK_PRESENT_MODE_FIFO_KHR
|
||||
};
|
||||
|
||||
// For iIOTimingMethod.
|
||||
enum IOTimingMethods {
|
||||
IOTIMING_FAST = 0,
|
||||
|
||||
+53
-57
@@ -22,6 +22,7 @@
|
||||
#include "ppsspp_config.h"
|
||||
#include "Common/Profiler/Profiler.h"
|
||||
#include "Common/Log.h"
|
||||
#include "Common/System/Display.h"
|
||||
#include "Common/TimeUtil.h"
|
||||
|
||||
#include "Core/RetroAchievements.h"
|
||||
@@ -56,22 +57,6 @@ void WaitUntil(double now, double timestamp, const char *reason) {
|
||||
#endif
|
||||
}
|
||||
|
||||
inline Draw::PresentMode GetBestImmediateMode(Draw::PresentMode supportedModes) {
|
||||
if (supportedModes & Draw::PresentMode::MAILBOX) {
|
||||
return Draw::PresentMode::MAILBOX;
|
||||
} else {
|
||||
return Draw::PresentMode::IMMEDIATE;
|
||||
}
|
||||
}
|
||||
|
||||
void FrameTiming::Reset(Draw::DrawContext *draw) {
|
||||
if (g_Config.bVSync || !(draw->GetDeviceCaps().presentModesSupported & (Draw::PresentMode::MAILBOX | Draw::PresentMode::IMMEDIATE))) {
|
||||
presentMode = Draw::PresentMode::FIFO;
|
||||
} else {
|
||||
presentMode = GetBestImmediateMode(draw->GetDeviceCaps().presentModesSupported);
|
||||
}
|
||||
}
|
||||
|
||||
void FrameTiming::DeferWaitUntil(double until, double *curTimePtr) {
|
||||
_dbg_assert_(until > 0.0);
|
||||
waitUntil_ = until;
|
||||
@@ -89,54 +74,65 @@ void FrameTiming::PostSubmit() {
|
||||
}
|
||||
}
|
||||
|
||||
Draw::PresentMode ComputePresentMode(Draw::DrawContext *draw) {
|
||||
_assert_(draw);
|
||||
void FrameTiming::ComputePresentMode(Draw::DrawContext *draw, bool fastForward) {
|
||||
_dbg_assert_(draw);
|
||||
if (!draw) {
|
||||
fastForwardSkipFlip_ = true;
|
||||
presentMode_ = Draw::PresentMode::FIFO;
|
||||
return;
|
||||
}
|
||||
|
||||
Draw::PresentMode mode = Draw::PresentMode::FIFO;
|
||||
_dbg_assert_(draw->GetDeviceCaps().presentModesSupported != (Draw::PresentMode)0);
|
||||
|
||||
if (draw->GetDeviceCaps().presentModesSupported & (Draw::PresentMode::IMMEDIATE | Draw::PresentMode::MAILBOX)) {
|
||||
// Switch to immediate if desired and possible.
|
||||
bool wantInstant = false;
|
||||
if (!g_Config.bVSync) {
|
||||
wantInstant = true;
|
||||
if (draw->GetDeviceCaps().presentModesSupported == Draw::PresentMode::FIFO) {
|
||||
// Only FIFO mode is supported (like on iOS and some GLES backends).
|
||||
fastForwardSkipFlip_ = true;
|
||||
presentMode_ = Draw::PresentMode::FIFO;
|
||||
return;
|
||||
}
|
||||
|
||||
// More than one present mode is supported. Use careful logic.
|
||||
|
||||
// The user has requested vsync off.
|
||||
if (!g_Config.bVSync) {
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::IMMEDIATE) {
|
||||
// Use immediate mode, whether fast-forwarding or not.
|
||||
presentMode_ = Draw::PresentMode::IMMEDIATE;
|
||||
fastForwardSkipFlip_ = false;
|
||||
return;
|
||||
}
|
||||
// Inconsistent state - vsync is off but immediate mode is not supported.
|
||||
// We will simply force on VSync.
|
||||
g_Config.bVSync = true;
|
||||
}
|
||||
|
||||
if (PSP_CoreParameter().fastForward && NetworkAllowSpeedControl()) {
|
||||
wantInstant = true;
|
||||
// At this point, vsync is always on. What decides now is whether MAILBOX or IMMEDIATE is available,
|
||||
// and also if we need an unsynced mode.
|
||||
|
||||
// OK, vsync is requested (or immediate is not available). If mailbox is supported, it works the same as IMMEDIATE above.
|
||||
|
||||
if (g_Config.bLowLatencyPresent) {
|
||||
// Use mailbox if available. It works fine for both fast-forward and normal.
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::MAILBOX) {
|
||||
presentMode_ = Draw::PresentMode::MAILBOX;
|
||||
fastForwardSkipFlip_ = false;
|
||||
return;
|
||||
}
|
||||
// We could force off lowLatencyPresent here, but it's no good when changing between backends.
|
||||
// So let's leave it on in the background, maybe the user just went from Vulkan to OpenGL.
|
||||
}
|
||||
|
||||
FPSLimit limit = PSP_CoreParameter().fpsLimit;
|
||||
if (!NetworkAllowSpeedControl()) {
|
||||
limit = FPSLimit::NORMAL;
|
||||
}
|
||||
|
||||
if (limit != FPSLimit::NORMAL) {
|
||||
int limit;
|
||||
if (PSP_CoreParameter().fpsLimit == FPSLimit::CUSTOM1)
|
||||
limit = g_Config.iFpsLimit1;
|
||||
else if (PSP_CoreParameter().fpsLimit == FPSLimit::CUSTOM2)
|
||||
limit = g_Config.iFpsLimit2;
|
||||
else
|
||||
limit = PSP_CoreParameter().analogFpsLimit;
|
||||
|
||||
// For an alternative speed that is a clean factor of 60, the user probably still wants vsync.
|
||||
// TODO: Should take the user's display refresh rate into account...
|
||||
if (limit == 0 || (limit >= 0 && limit != 15 && limit != 30 && limit != 60)) {
|
||||
wantInstant = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (wantInstant && g_Config.bVSync && !draw->GetDeviceCaps().presentInstantModeChange) {
|
||||
// If in vsync mode (which will be FIFO), and the backend can't switch immediately,
|
||||
// stick to FIFO.
|
||||
wantInstant = false;
|
||||
}
|
||||
|
||||
// The outer if checks that instant modes are available.
|
||||
if (wantInstant) {
|
||||
mode = GetBestImmediateMode(draw->GetDeviceCaps().presentModesSupported);
|
||||
// At this point, low-latency mode is not available, and vsync is on. We see if we can use INSTANT
|
||||
// mode for fast-forwarding, or if we need to resort to frameskipping.
|
||||
if (draw->GetDeviceCaps().presentInstantModeChange) {
|
||||
if (fastForward) {
|
||||
presentMode_ = Draw::PresentMode::IMMEDIATE;
|
||||
fastForwardSkipFlip_ = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
return mode;
|
||||
// Finally, fallback to FIFO mode, with skip-flip in fast-forward.
|
||||
presentMode_ = Draw::PresentMode::FIFO;
|
||||
fastForwardSkipFlip_ = true;
|
||||
}
|
||||
|
||||
+11
-4
@@ -12,18 +12,25 @@ class FrameTiming {
|
||||
public:
|
||||
void DeferWaitUntil(double until, double *curTimePtr);
|
||||
void PostSubmit();
|
||||
void Reset(Draw::DrawContext *draw);
|
||||
void ComputePresentMode(Draw::DrawContext *draw, bool fastForward);
|
||||
|
||||
// Some backends won't allow changing this willy nilly.
|
||||
Draw::PresentMode presentMode;
|
||||
bool FastForwardNeedsSkipFlip() const {
|
||||
return fastForwardSkipFlip_;
|
||||
}
|
||||
Draw::PresentMode PresentMode() const {
|
||||
return presentMode_;
|
||||
}
|
||||
|
||||
private:
|
||||
// For use on the next Present. These two are set by ComputePresentMode.
|
||||
Draw::PresentMode presentMode_;
|
||||
bool fastForwardSkipFlip_;
|
||||
|
||||
double waitUntil_;
|
||||
double *curTimePtr_;
|
||||
};
|
||||
|
||||
extern FrameTiming g_frameTiming;
|
||||
|
||||
Draw::PresentMode ComputePresentMode(Draw::DrawContext *draw);
|
||||
|
||||
void WaitUntil(double now, double timestamp, const char *reason);
|
||||
|
||||
+11
-21
@@ -580,22 +580,6 @@ void __DisplayFlip(int cyclesLate) {
|
||||
|
||||
bool duplicateFrames = g_Config.bRenderDuplicateFrames && g_Config.iFrameSkip == 0;
|
||||
|
||||
bool fastForwardSkipFlip = false;
|
||||
|
||||
Draw::DrawContext *draw = gpu->GetDrawContext();
|
||||
if (draw) {
|
||||
g_frameTiming.presentMode = ComputePresentMode(draw);
|
||||
if (!draw->GetDeviceCaps().presentInstantModeChange && g_frameTiming.presentMode == Draw::PresentMode::FIFO) {
|
||||
// Some backends can't just flip into MAILBOX/IMMEDIATE mode instantly.
|
||||
// Vulkan doesn't support the interval setting, so we force skipping the flip.
|
||||
// TODO: We'll clean this up in a more backend-independent way later.
|
||||
fastForwardSkipFlip = true;
|
||||
}
|
||||
} else {
|
||||
// Surely can never get here?
|
||||
g_frameTiming.presentMode = Draw::PresentMode::FIFO;
|
||||
}
|
||||
|
||||
if (!g_Config.bSkipBufferEffects) {
|
||||
postEffectRequiresFlip = duplicateFrames || g_Config.bShaderChainRequires60FPS;
|
||||
}
|
||||
@@ -606,11 +590,14 @@ void __DisplayFlip(int cyclesLate) {
|
||||
|
||||
const bool fbDirty = gpu->FramebufferDirty();
|
||||
|
||||
Draw::DrawContext *draw = gpu->GetDrawContext();
|
||||
|
||||
bool needFlip = fbDirty || noRecentFlip || postEffectRequiresFlip;
|
||||
if (!needFlip) {
|
||||
// Okay, there's no new frame to draw, game might be sitting in a static loading screen
|
||||
// or similar, and not long enough to trigger noRecentFlip. But audio may be playing, so we need to time still.
|
||||
DoFrameIdleTiming();
|
||||
g_frameTiming.ComputePresentMode(draw, false);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -624,10 +611,16 @@ void __DisplayFlip(int cyclesLate) {
|
||||
bool forceNoFlip = false;
|
||||
float refreshRate = System_GetPropertyFloat(SYSPROP_DISPLAY_REFRESH_RATE);
|
||||
// Avoid skipping on devices that have 58 or 59 FPS, except when alternate speed is set.
|
||||
bool refreshRateNeedsSkip = FrameTimingLimit() != framerate && FrameTimingLimit() > refreshRate;
|
||||
const double fpsLimit = FrameTimingLimit();
|
||||
bool throttle = fpsLimit != 0.0;
|
||||
|
||||
bool refreshRateNeedsSkip = fpsLimit != framerate && fpsLimit > refreshRate || !throttle;
|
||||
|
||||
g_frameTiming.ComputePresentMode(draw, refreshRateNeedsSkip);
|
||||
|
||||
// Alternative to frameskip fast-forward, where we draw everything.
|
||||
// Useful if skipping a frame breaks graphics or for checking drawing speed.
|
||||
if (fastForwardSkipFlip && (!FrameTimingThrottled() || refreshRateNeedsSkip)) {
|
||||
if (g_frameTiming.FastForwardNeedsSkipFlip() && (!FrameTimingThrottled() || refreshRateNeedsSkip)) {
|
||||
static double lastFlip = 0;
|
||||
double now = time_now_d();
|
||||
if ((now - lastFlip) < 1.0f / refreshRate) {
|
||||
@@ -662,9 +655,6 @@ void __DisplayFlip(int cyclesLate) {
|
||||
gpuStats.numFlips++;
|
||||
}
|
||||
|
||||
bool throttle = FrameTimingThrottled();
|
||||
|
||||
int fpsLimit = FrameTimingLimit();
|
||||
float scaledTimestep = (float)numVBlanksSinceFlip * timePerVblank;
|
||||
if (fpsLimit > 0 && fpsLimit != framerate) {
|
||||
scaledTimestep *= (float)framerate / fpsLimit;
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "Common/GPU/Vulkan/VulkanContext.h"
|
||||
#include "Common/Data/Text/Parsers.h"
|
||||
#include "Core/Config.h"
|
||||
#include "Core/FrameTiming.h"
|
||||
#include "GPU/Vulkan/VulkanUtil.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
@@ -36,14 +37,15 @@ const VkComponentMapping VULKAN_1555_SWIZZLE = { VK_COMPONENT_SWIZZLE_B, VK_COMP
|
||||
const VkComponentMapping VULKAN_565_SWIZZLE = { VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_IDENTITY };
|
||||
const VkComponentMapping VULKAN_8888_SWIZZLE = { VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_IDENTITY };
|
||||
|
||||
VkPresentModeKHR ConfigPresentModeToVulkan() {
|
||||
PresentMode presentMode = (PresentMode)g_Config.iVulkanPresentationMode;
|
||||
VkPresentModeKHR ConfigPresentModeToVulkan(Draw::DrawContext *draw) {
|
||||
g_frameTiming.ComputePresentMode(draw, false);
|
||||
Draw::PresentMode presentMode = g_frameTiming.PresentMode();
|
||||
switch (presentMode) {
|
||||
case PresentMode::Immediate:
|
||||
case Draw::PresentMode::IMMEDIATE:
|
||||
return VK_PRESENT_MODE_IMMEDIATE_KHR;
|
||||
case PresentMode::Mailbox:
|
||||
case Draw::PresentMode::MAILBOX:
|
||||
return VK_PRESENT_MODE_MAILBOX_KHR;
|
||||
case PresentMode::Fifo:
|
||||
case Draw::PresentMode::FIFO:
|
||||
default:
|
||||
return VK_PRESENT_MODE_FIFO_KHR;
|
||||
}
|
||||
|
||||
@@ -89,5 +89,5 @@ private:
|
||||
|
||||
VkShaderModule CompileShaderModule(VulkanContext *vulkan, VkShaderStageFlagBits stage, const char *code, std::string *error);
|
||||
|
||||
VkPresentModeKHR ConfigPresentModeToVulkan();
|
||||
VkPresentModeKHR ConfigPresentModeToVulkan(Draw::DrawContext *draw);
|
||||
void InitVulkanCreateInfoFromConfig(VulkanContext::CreateInfo *info);
|
||||
|
||||
@@ -128,18 +128,19 @@ bool SDLVulkanGraphicsContext::Init(SDL_Window *&window, int x, int y, int w, in
|
||||
break;
|
||||
}
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
bool useMultiThreading = g_Config.bRenderMultiThreading;
|
||||
if (g_Config.iInflightFrames == 1) {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
draw_ = Draw::T3DCreateVulkanContext(vulkan_, useMultiThreading);
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
if (!vulkan_->InitSwapchain(presentMode)) {
|
||||
*error_message = vulkan_->InitError();
|
||||
Shutdown();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool useMultiThreading = g_Config.bRenderMultiThreading;
|
||||
if (g_Config.iInflightFrames == 1) {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
draw_ = Draw::T3DCreateVulkanContext(vulkan_, useMultiThreading);
|
||||
SetGPUBackend(GPUBackend::VULKAN);
|
||||
bool success = draw_->CreatePresets();
|
||||
_assert_(success);
|
||||
@@ -170,7 +171,7 @@ void SDLVulkanGraphicsContext::Resize() {
|
||||
// NOTE: Removing DestroySwapchain here causes a double re-create on MacOS with MoltenVK, for some reason.
|
||||
// It's like passing on oldSwapchain doesn't really work as expected.
|
||||
vulkan_->DestroySwapchain();
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
vulkan_->InitSwapchain(presentMode);
|
||||
draw_->HandleEvent(Draw::Event::GOT_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
|
||||
}
|
||||
|
||||
+7
-2
@@ -132,14 +132,19 @@ static void DrawFrameTiming(UIContext *ctx, const Bounds &bounds) {
|
||||
|
||||
char statBuf[1024]{};
|
||||
|
||||
Draw::DrawContext *draw = ctx->GetDrawContext();
|
||||
|
||||
ctx->Flush();
|
||||
ctx->BindFontTexture();
|
||||
ctx->Draw()->SetFontScale(0.5f, 0.5f);
|
||||
|
||||
// NOTE: This is not necessarily the same as the actual present mode.
|
||||
snprintf(statBuf, sizeof(statBuf),
|
||||
"Timing mode (interval): %s",
|
||||
Draw::PresentModeToString(g_frameTiming.presentMode));
|
||||
"Presentation mode: %s Needs skip: %s\n"
|
||||
"Actual presentation mode: %s",
|
||||
Draw::PresentModeToString(g_frameTiming.PresentMode()),
|
||||
g_frameTiming.FastForwardNeedsSkipFlip() ? "true" : "false"),
|
||||
Draw::PresentModeToString(draw->GetCurrentPresentMode());
|
||||
|
||||
ctx->Draw()->DrawTextRect(ubuntu24, statBuf, bounds.x + 10, bounds.y + 50, bounds.w - 20, bounds.h - 30, 0xFFFFFFFF, FLAG_DYNAMIC_ASCII);
|
||||
|
||||
|
||||
+25
-23
@@ -355,6 +355,10 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
|
||||
}
|
||||
#endif
|
||||
|
||||
graphicsSettings->Add(new CheckBox(&g_Config.bReplaceTextures, dev->T("Replace textures")));
|
||||
|
||||
graphicsSettings->Add(new ItemHeader(gr->T("Display")));
|
||||
|
||||
if (deviceType != DEVICE_TYPE_VR) {
|
||||
#if !defined(MOBILE_DEVICE)
|
||||
graphicsSettings->Add(new CheckBox(&g_Config.bFullScreen, gr->T("FullScreen", "Full Screen")))->OnClick.Handle(this, &GameSettingsScreen::OnFullscreenChange);
|
||||
@@ -367,28 +371,6 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
|
||||
}
|
||||
#endif
|
||||
|
||||
// If only one mode is supported (like FIFO on iOS), no need to show the options.
|
||||
if (CountSetBits((u32)draw->GetDeviceCaps().presentModesSupported) > 1) {
|
||||
// Immediate means non-synchronized, tearing.
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::IMMEDIATE) {
|
||||
CheckBox *vSync = graphicsSettings->Add(new CheckBox(&g_Config.bVSync, gr->T("VSync")));
|
||||
vSync->OnClick.Add([=](EventParams &e) {
|
||||
NativeResized(); // TODO: Remove
|
||||
});
|
||||
}
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::MAILBOX) {
|
||||
CheckBox *lowLatency = graphicsSettings->Add(new CheckBox(&g_Config.bLowLatencyPresent, gr->T("Low latency presentation")));
|
||||
lowLatency->OnClick.Add([=](EventParams &e) {
|
||||
NativeResized(); // TODO: Remove
|
||||
});
|
||||
|
||||
// If the immediate mode is supported, we can tie low latency present to VSync.
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::IMMEDIATE) {
|
||||
lowLatency->SetEnabledPtr(&g_Config.bVSync);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if PPSSPP_PLATFORM(ANDROID)
|
||||
// Hide Immersive Mode on pre-kitkat Android
|
||||
if (System_GetPropertyInt(SYSPROP_SYSTEMVERSION) >= 19) {
|
||||
@@ -403,7 +385,27 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
|
||||
});
|
||||
}
|
||||
|
||||
graphicsSettings->Add(new CheckBox(&g_Config.bReplaceTextures, dev->T("Replace textures")));
|
||||
// If only one mode is supported (like FIFO on iOS), no need to show the options.
|
||||
if (CountSetBits((u32)draw->GetDeviceCaps().presentModesSupported) > 1) {
|
||||
// Immediate means non-synchronized, tearing.
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::IMMEDIATE) {
|
||||
CheckBox *vSync = graphicsSettings->Add(new CheckBox(&g_Config.bVSync, gr->T("VSync")));
|
||||
vSync->OnClick.Add([=](EventParams &e) {
|
||||
NativeResized(); // TODO: Remove
|
||||
});
|
||||
}
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::MAILBOX) {
|
||||
CheckBox *lowLatency = graphicsSettings->Add(new CheckBox(&g_Config.bLowLatencyPresent, gr->T("Low latency display")));
|
||||
lowLatency->OnClick.Add([=](EventParams &e) {
|
||||
NativeResized(); // TODO: Remove
|
||||
});
|
||||
|
||||
// If the immediate mode is supported, we can tie low latency present to VSync.
|
||||
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::IMMEDIATE) {
|
||||
lowLatency->SetEnabledPtr(&g_Config.bVSync);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
graphicsSettings->Add(new ItemHeader(gr->T("Frame Rate Control")));
|
||||
static const char *frameSkip[] = {"Off", "1", "2", "3", "4", "5", "6", "7", "8"};
|
||||
|
||||
+3
-3
@@ -1179,7 +1179,8 @@ void NativeFrame(GraphicsContext *graphicsContext) {
|
||||
if (g_Config.bGpuLogProfiler)
|
||||
debugFlags |= Draw::DebugFlags::PROFILE_SCOPES;
|
||||
|
||||
g_frameTiming.Reset(g_draw);
|
||||
// Can be overridden by sceDisplay which may pass true for the second argument.
|
||||
g_frameTiming.ComputePresentMode(g_draw, false);
|
||||
|
||||
g_draw->BeginFrame(debugFlags);
|
||||
|
||||
@@ -1206,8 +1207,7 @@ void NativeFrame(GraphicsContext *graphicsContext) {
|
||||
ClearFailedGPUBackends();
|
||||
}
|
||||
|
||||
Draw::PresentMode presentMode = ComputePresentMode(g_draw);
|
||||
g_draw->Present(presentMode);
|
||||
g_draw->Present(g_frameTiming.PresentMode());
|
||||
|
||||
if (resized) {
|
||||
INFO_LOG(Log::G3D, "Resized flag set - recalculating bounds");
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
#include "Core/Config.h"
|
||||
#include "Core/ConfigValues.h"
|
||||
#include "Core/System.h"
|
||||
#include "Core/FrameTiming.h"
|
||||
#include "Common/GPU/Vulkan/VulkanLoader.h"
|
||||
#include "Common/GPU/Vulkan/VulkanContext.h"
|
||||
|
||||
@@ -117,19 +118,20 @@ bool WindowsVulkanContext::Init(HINSTANCE hInst, HWND hWnd, std::string *error_m
|
||||
|
||||
vulkan_->InitSurface(WINDOWSYSTEM_WIN32, (void *)hInst, (void *)hWnd);
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
if (!vulkan_->InitSwapchain(presentMode)) {
|
||||
*error_message = vulkan_->InitError();
|
||||
Shutdown();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool useMultiThreading = g_Config.bRenderMultiThreading;
|
||||
if (g_Config.iInflightFrames == 1) {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
|
||||
draw_ = Draw::T3DCreateVulkanContext(vulkan_, useMultiThreading);
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
if (!vulkan_->InitSwapchain(presentMode)) {
|
||||
*error_message = vulkan_->InitError();
|
||||
Shutdown();
|
||||
return false;
|
||||
}
|
||||
|
||||
SetGPUBackend(GPUBackend::VULKAN, vulkan_->GetPhysicalDeviceProperties(deviceNum).properties.deviceName);
|
||||
bool success = draw_->CreatePresets();
|
||||
_assert_msg_(success, "Failed to compile preset shaders");
|
||||
@@ -166,7 +168,7 @@ void WindowsVulkanContext::Shutdown() {
|
||||
|
||||
void WindowsVulkanContext::Resize() {
|
||||
draw_->HandleEvent(Draw::Event::LOST_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
vulkan_->InitSwapchain(presentMode);
|
||||
draw_->HandleEvent(Draw::Event::GOT_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
|
||||
}
|
||||
|
||||
@@ -70,14 +70,15 @@ bool AndroidVulkanContext::InitFromRenderThread(ANativeWindow *wnd, int desiredB
|
||||
return false;
|
||||
}
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
bool useMultiThreading = g_Config.bRenderMultiThreading;
|
||||
if (g_Config.iInflightFrames == 1) {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
draw_ = Draw::T3DCreateVulkanContext(g_Vulkan, useMultiThreading);
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
bool success = false;
|
||||
if (g_Vulkan->InitSwapchain(presentMode)) {
|
||||
bool useMultiThreading = g_Config.bRenderMultiThreading;
|
||||
if (g_Config.iInflightFrames == 1) {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
draw_ = Draw::T3DCreateVulkanContext(g_Vulkan, useMultiThreading);
|
||||
SetGPUBackend(GPUBackend::VULKAN);
|
||||
success = draw_->CreatePresets(); // Doesn't fail, we ship the compiler.
|
||||
_assert_msg_(success, "Failed to compile preset shaders");
|
||||
@@ -128,7 +129,7 @@ void AndroidVulkanContext::Resize() {
|
||||
g_Vulkan->DestroySurface();
|
||||
g_Vulkan->ReinitSurface();
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
g_Vulkan->InitSwapchain(presentMode);
|
||||
draw_->HandleEvent(Draw::Event::GOT_BACKBUFFER, g_Vulkan->GetBackbufferWidth(), g_Vulkan->GetBackbufferHeight());
|
||||
INFO_LOG(Log::G3D, "AndroidVulkanContext::Resize end (final size: %dx%d)", g_Vulkan->GetBackbufferWidth(), g_Vulkan->GetBackbufferHeight());
|
||||
|
||||
@@ -651,6 +651,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = عرض
|
||||
Display layout & effects = أظهر مُعدل النسق
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -686,6 +687,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = خطي
|
||||
Low = منخفض
|
||||
Low latency display = عرض تأخير منخفض
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = فقط يستخدم من بعض الألعاب, يتحكم بنعومة المنحنيات
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Ekran
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linear
|
||||
Low = Low
|
||||
Low latency display = Aşağı gecikmə ekranı
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -626,6 +626,7 @@ CPU texture upscaler (slow) = Тып маштабавання
|
||||
Current GPU driver = Бягучы драйвер ГП
|
||||
Default GPU driver = Стандартны драйвер ГП
|
||||
Disable culling = Disable culling
|
||||
Display = Дисплей
|
||||
Display layout & effects = Размяшчэнне экрана і эфекты
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
Drivers = Драйверы
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Аклюзія блікаў аб'ектыва
|
||||
Linear = Лінейны
|
||||
Low = Нізкая
|
||||
Low latency display = Дыск з нізкай затрымкай
|
||||
LowCurves = Якасць сплайнаў і крывых Безье
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Меншае разрозненне для эфектаў (памяншае артэфакты)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Устройство
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Дисплей
|
||||
Display layout & effects = Оформление и ефекти на дисплея
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = По-бързо, но може да причини п
|
||||
Lens flare occlusion = Запушване на отблясъка на обектива
|
||||
Linear = Линеарно
|
||||
Low = Ниско
|
||||
Low latency display = Дисплей с ниска латентност
|
||||
LowCurves = Качество на сплайните и кривите на Безие
|
||||
LowCurves Tip = Използва се само от някои игри, контролира плавността на кривите
|
||||
Lower resolution for effects (reduces artifacts) = По-ниска резолюция за ефекти (намалява артефактите)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Dispositiu
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Desactivat
|
||||
Display = Pantalla
|
||||
Display layout & effects = Editor de l'àrea de pantalla
|
||||
Display Resolution (HW scaler) = Resolució de pantalla (escalat per maquinari)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Ràpid, però puc provocar problemes als textos d'alg
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineal
|
||||
Low = Baixa
|
||||
Low latency display = Pantalla de baixa latència
|
||||
LowCurves = Qualitat de corbes Bézier
|
||||
LowCurves Tip = Augmenta/redueix significativament el renderitzat de corbes Bézier
|
||||
Lower resolution for effects (reduces artifacts) = Efectes en baixa resolució\n(redueix errors gràfics per escalat)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Displej
|
||||
Display layout & effects = Zobrazit editor rozvržení
|
||||
Display Resolution (HW scaler) = Rozlišení obrazovky (Hardwarové zvětšení)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineární
|
||||
Low = Nízké
|
||||
Low latency display = Displej s nízkou latencí
|
||||
LowCurves = Kvalita křivek/Beziérových křivek
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Nižší rozlišení efektů (snižuje artefakty)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Skærm
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Skærmopløsning (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineær
|
||||
Low = Lav
|
||||
Low latency display = Lav latens display
|
||||
LowCurves = Simple spline og bezier-kurver (hurtigere)
|
||||
LowCurves Tip = Bruges kun af nogle spil, kontrollerer glathed af kurver
|
||||
Lower resolution for effects (reduces artifacts) = Lavere opløsning for effekter (reducerer artefakter)
|
||||
|
||||
@@ -634,6 +634,7 @@ Device = Gerät
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Culling deaktivieren
|
||||
Disabled = Deaktiviert
|
||||
Display = Anzeige
|
||||
Display layout & effects = Bildschirm-Layout & Effekte
|
||||
Display Resolution (HW scaler) = Bildschirmauflösung (HW-Skalierer)
|
||||
Driver requires Android API version %1, current is %2 = Treiber erfordert Android-API-Version %1, aktuell ist %2
|
||||
@@ -669,6 +670,7 @@ Lazy texture caching Tip = Schneller, kann aber in einigen Spielen Textprobleme
|
||||
Lens flare occlusion = Verdeckung von Linsenreflexionen
|
||||
Linear = Linear
|
||||
Low = Niedrig
|
||||
Low latency display = Niedriglatenzdisplay
|
||||
LowCurves = Spline-/Bezierkurven-Qualität
|
||||
LowCurves Tip = Wird nur von einigen Spielen verwendet, es steuert die Glätte von Kurven
|
||||
Lower resolution for effects (reduces artifacts) = Niedrigere Auflösung für Effekte (Reduziert Artifakte)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Tampilan
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Maruruh
|
||||
Low = Low
|
||||
Low latency display = Tampilan latensi rendah
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -650,6 +650,7 @@ CPU texture upscaler (slow) = Upscale type
|
||||
Current GPU driver = Current GPU driver
|
||||
Default GPU driver = Default GPU driver
|
||||
Disable culling = Disable culling
|
||||
Display = Display
|
||||
Display layout & effects = Display layout & effects
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
Drivers = Drivers
|
||||
@@ -702,6 +703,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linear
|
||||
Low = Low
|
||||
Low latency display = Low latency display
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -644,6 +644,7 @@ Device = Dispositivo
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Desactivar selección
|
||||
Disabled = Desactivado
|
||||
Display = Pantalla
|
||||
Display layout & effects = Distribución de pantalla y efectos
|
||||
Display Resolution (HW scaler) = Resolución de pantalla (escalado por hardware)
|
||||
Driver requires Android API version %1, current is %2 = El controlador requiere la versión API de Android %1, la versión actual es %2
|
||||
@@ -679,6 +680,7 @@ Lazy texture caching Tip = Más rápido, pero puede causar problemas de texto en
|
||||
Lens flare occlusion = Oclusión por destello de lente
|
||||
Linear = Lineal
|
||||
Low = Baja
|
||||
Low latency display = Pantalla de baja latencia
|
||||
LowCurves = Calidad de curvas Spline/Bezier
|
||||
LowCurves Tip = Solo lo utilizan algunos juegos, controla la suavidad de las curvas.
|
||||
Lower resolution for effects (reduces artifacts) = Resolución más baja para efectos (reduce artefactos)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Dispositivo
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Apagado
|
||||
Display = Pantalla
|
||||
Display layout & effects = Editar pantalla y Shaders
|
||||
Display Resolution (HW scaler) = Resolución de pantalla (escalado por HW)
|
||||
Driver requires Android API version %1, current is %2 = El controlador requiere la versión de API de Android %1, la actual es %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Más rápido, pero puede causar problemas de texto en
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineal
|
||||
Low = Baja
|
||||
Low latency display = Pantalla de baja latencia
|
||||
LowCurves = Calidad de curvas bézier/Spline
|
||||
LowCurves Tip = Controla la calidad de las curvas renderizadas, pero solo se utiliza en ciertos juegos.
|
||||
Lower resolution for effects (reduces artifacts) = Efectos en baja resolución\n(reduce errores gráficos por escalado)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = نمایش
|
||||
Display layout & effects = چیدمان صفحه
|
||||
Display Resolution (HW scaler) = رزولوشن صفحه
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = خطی
|
||||
Low = کم
|
||||
Low latency display = نمایش با تأخیر کم
|
||||
LowCurves = Spline/Bezier کیفیت منحنیهای
|
||||
LowCurves Tip = فقط در تعدادی بازی استفاده میشود، کیفیت منحنیها را کنترل میکند
|
||||
Lower resolution for effects (reduces artifacts) = کاهش رزولوشن افکتها (کاهش باگ گرافیکی)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Laite
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Poista taustapintojen hylkääminen
|
||||
Disabled = Poistettu käytöstä
|
||||
Display = Näyttö
|
||||
Display layout & effects = Näyttöasettelu ja -efektit
|
||||
Display Resolution (HW scaler) = Näyttöresoluutio (Laitteiston skaalaaja)
|
||||
Driver requires Android API version %1, current is %2 = Ajurin vaatima Android API -versio on %1, nykyinen versio on %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Nopeampi, mutta voi aiheuttaa tekstiongelmia joissaki
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineaarinen
|
||||
Low = Matala
|
||||
Low latency display = Alhaisen viiveen näyttö
|
||||
LowCurves = Spline/Bezier-käyrien laatu
|
||||
LowCurves Tip = Käytetään vain joissakin peleissä, ohjaa käyrien sileyttä
|
||||
Lower resolution for effects (reduces artifacts) = Alempi resoluutio efekteille (vähentää häiriöitä)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Appareil
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Désactivé
|
||||
Display = Affichage
|
||||
Display layout & effects = Éditeur d'affichage
|
||||
Display Resolution (HW scaler) = Définition d'affichage (mise à l'échelle matérielle)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linéaire
|
||||
Low = Basse
|
||||
Low latency display = Écran à faible latence
|
||||
LowCurves = Qualité des courbes de Bézier et splines
|
||||
LowCurves Tip = Seulement utilisé par certains jeux, contrôle le lissage des courbes
|
||||
Lower resolution for effects (reduces artifacts) = Réduire définition des effets (réduit artéfacts)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Pantalla
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Resolución de pantalla (escalado por hardware)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineal
|
||||
Low = Baixa
|
||||
Low latency display = Pantalla de baixa latencia
|
||||
LowCurves = Calidade de curvas bézier
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Απενεργοποιημένο
|
||||
Display = Οθόνη
|
||||
Display layout & effects = Επεξεργασία διάταξης οθόνης
|
||||
Display Resolution (HW scaler) = Ανάλυση οθόνης (Κλιμακοτής hardware)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Γραμμικό
|
||||
Low = Χαμηλή
|
||||
Low latency display = Οθόνη χαμηλής καθυστέρησης
|
||||
LowCurves = Ποιότητα καμπυλών spline/bezier
|
||||
LowCurves Tip = Αυτή η επιλογή θα βελτιώσει/μειώσει σημαντικά την ποιότητα των παρεχόμενων καμπυλών
|
||||
Lower resolution for effects (reduces artifacts) = Χαμηλότερη ανάλυση για εφέ (λιγότερα προβλήματα)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = תצוגה
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = קווי
|
||||
Low = Low
|
||||
Low latency display = תצוגה עם השהיה נמוכה
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -640,6 +640,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = תצוגה
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -675,6 +676,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = יווק
|
||||
Low = Low
|
||||
Low latency display = תצוגה עם השהיה נמוכה
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Uređaj
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Isključeno
|
||||
Display = Prikaz
|
||||
Display layout & effects = Prikaz layout uređivača
|
||||
Display Resolution (HW scaler) = Prikaz rezolucije (HW mjeritelj)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linearno
|
||||
Low = Nisko
|
||||
Low latency display = Prikaz s niskom kašnjenjem
|
||||
LowCurves = Dugačke/Bezijerove kvalitete zavoja
|
||||
LowCurves Tip = Jedino korišteno od strane nekoliko igara, kontrolira uglađenost grafike
|
||||
Lower resolution for effects (reduces artifacts) = Snizi rezoluciju za efekte (smanjuje artefakte)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Eszköz
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Culling kikapcsolása
|
||||
Disabled = Letiltva
|
||||
Display = Kijelző
|
||||
Display layout & effects = Nézet szerkesztő
|
||||
Display Resolution (HW scaler) = Megjelenítési felbontás (HW skálázó)
|
||||
Driver requires Android API version %1, current is %2 = A driverhez Android API %1 verzió szükséges, a jelenlegi %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineáris
|
||||
Low = Alacsony
|
||||
Low latency display = Alacsony késleltetésű kijelző
|
||||
LowCurves = Spline/Bezier görbék minősége
|
||||
LowCurves Tip = Csak néhány játék használja, a görbék simaságát szabályozza
|
||||
Lower resolution for effects (reduces artifacts) = Alacsonyabb felbontású effektek (artifacteket csökkenti)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Perangkat
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Nonaktifkan pemusnahan
|
||||
Disabled = Nonaktif
|
||||
Display = Tampilan
|
||||
Display layout & effects = Penyesuaian tata letak tampilan
|
||||
Display Resolution (HW scaler) = Resolusi tampilan (penskala HW)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Lebih cepat, tetapi dapat menyebabkan masalah teks di
|
||||
Lens flare occlusion = Oklusi silau lensa
|
||||
Linear = Linier
|
||||
Low = Rendah
|
||||
Low latency display = Tampilan latensi rendah
|
||||
LowCurves = Kualitas kurva spline/bezier
|
||||
LowCurves Tip = Hanya digunakan oleh beberapa permainan, mengontrol kualitas kurva bezier dan spline
|
||||
Lower resolution for effects (reduces artifacts) = Resolusi efek lebih rendah (mengurangi artefak)
|
||||
|
||||
@@ -644,6 +644,7 @@ Direct3D 11 = Direct3D 11
|
||||
#Disable slower effects (speedup) = Disattiva gli effetti più lenti (veloce)
|
||||
Disable culling = Disabilita culling
|
||||
Disabled = Disabilitato
|
||||
Display = Display
|
||||
Display layout & effects = Editor Display
|
||||
Display Resolution (HW scaler) = Risoluzione Display (scaler HW)
|
||||
Driver requires Android API version %1, current is %2 = Il driver richiede la versione API di Android %1, attualmente c'è la %2
|
||||
@@ -679,6 +680,7 @@ Lazy texture caching Tip = Veloce, ma può causare problemi di testo in alcuni g
|
||||
Lens flare occlusion = Occlusione lens flare
|
||||
Linear = Lineare
|
||||
Low = Bassa
|
||||
Low latency display = Display a bassa latenza
|
||||
LowCurves = Riduci qualità splines e curve di bezier (maggior velocità)
|
||||
LowCurves Tip = Usato solo in alcuni giochi, controlla la fluidità delle curve
|
||||
Lower resolution for effects (reduces artifacts) = Bassa risoluzione degli effetti (riduce gli artefatti)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = デバイス
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = カリングを無効化
|
||||
Disabled = 無効
|
||||
Display = ディスプレイ
|
||||
Display layout & effects = 画面のレイアウトを編集する
|
||||
Display Resolution (HW scaler) = 画面解像度 (HWスケーラー)
|
||||
Driver requires Android API version %1, current is %2 = ドライバーはAndroid API version %1を要求していますが, 現在 %2です
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = 高速化するがいくつかのゲームでテキ
|
||||
Lens flare occlusion = レンズフレア表現への遮蔽処理
|
||||
Linear = Linear
|
||||
Low = 低
|
||||
Low latency display = 低遅延ディスプレイ
|
||||
LowCurves = スプライン/ベジェ曲線の品質
|
||||
LowCurves Tip = いくつかのゲームでのみ用いられ、曲線の滑らかさをコントロールする
|
||||
Lower resolution for effects (reduces artifacts) = エフェクトを低解像度にする (生成物を減らす)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Tampilan
|
||||
Display layout & effects = Tata letak Tampilan editor
|
||||
Display Resolution (HW scaler) = Resolusi tampilan (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linear
|
||||
Low = Kurang
|
||||
Low latency display = Layang latensi rendah
|
||||
LowCurves = Kualitas kurva Spline/Bezier
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Resolusi ngisor kanggo efek (nyuda artefak)
|
||||
|
||||
@@ -626,6 +626,7 @@ CPU texture upscaler (slow) = 업스케일 유형
|
||||
Current GPU driver = 현재 GPU 드라이버
|
||||
Default GPU driver = 기본 GPU 드라이버
|
||||
Disable culling = 컬링 비활성화
|
||||
Display = 디스플레이
|
||||
Display layout & effects = 화면 레이아웃 편집기
|
||||
Driver requires Android API version %1, current is %2 = 드라이버에는 안드로이드 API 버전 %1이(가) 필요하며, 현재는 %2입니다.
|
||||
Drivers = 드라이버
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = 더 빠르지만 몇몇 게임에서 텍스트 문제
|
||||
Lens flare occlusion = 렌즈 플레어 차단
|
||||
Linear = 선형 필터링
|
||||
Low = 낮음
|
||||
Low latency display = 낮은 지연 시간 디스플레이
|
||||
LowCurves = 스플라인/베지어 곡선 품질
|
||||
LowCurves Tip = 일부 게임에서만 사용되며, 곡선의 부드러움을 제어
|
||||
Lower resolution for effects (reduces artifacts) = 효과에 대한 낮은 해상도 (인공물 감소)
|
||||
|
||||
@@ -640,6 +640,7 @@ CPU texture upscaler (slow) = Upscale type
|
||||
Current GPU driver = Current GPU driver
|
||||
Default GPU driver = Default GPU driver
|
||||
Disable culling = Disable culling
|
||||
Display = Nîşan
|
||||
Display layout & effects = Display layout & effects
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
Drivers = Drivers
|
||||
@@ -692,6 +693,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linear
|
||||
Low = Low
|
||||
Low latency display = Pêşangeha bi derfeta jê
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = ສະແດງ
|
||||
Display layout & effects = ແກ້ໄຂຮູບແບບໜ້າຈໍ
|
||||
Display Resolution (HW scaler) = ຄວາມລະອຽດໜ້າຈໍ (ຕາມຮາດແວຣ໌)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linear
|
||||
Low = ຕ່ຳ
|
||||
Low latency display = ການສະແດງທີ່ມີລາຍການສະຫຼຸບແລະສົທານ
|
||||
LowCurves = ລະດັບເສັ້ນສອງມິຕິ ຫຼື ເສັ້ນໂຄ້ງ
|
||||
LowCurves Tip = ໃຊ້ສະເພາະບາງເກມ, ເພື່ອຄວບຄຸມຄວາມມື່ນໄຫຼຂອງເສັ້ນໂຄ້ງ
|
||||
Lower resolution for effects (reduces artifacts) = ຫຼຸດຄວາມລະອຽດຂອງເອັບເຟກໃຫ້ຕ່ຳລົງ (ແກ້ພາບແຈ້ງ)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Ekranas
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Ekrano rezoliucija ("HW" ištiesinimas)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linijinis
|
||||
Low = Žema
|
||||
Low latency display = Žema uždelsimo ekranas
|
||||
LowCurves = "Spline/Bezier" lankstumų kokybė
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Paparan
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Garis dekat
|
||||
Low = Low
|
||||
Low latency display = Paparan latensi rendah
|
||||
LowCurves = Kualiti rendah splin dan keluk bezier (tingkatkan kelajuan)
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Display
|
||||
Display layout & effects = Schermweergave bewerken
|
||||
Display Resolution (HW scaler) = Schermresolutie (hardware)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineair
|
||||
Low = Laag
|
||||
Low latency display = Laag-latentie-display
|
||||
LowCurves = Kwaliteit spline- en béziercurves
|
||||
LowCurves Tip = Alleen gebruikt in sommige games, bestuurt de afronding van curves
|
||||
Lower resolution for effects (reduces artifacts) = Effectresolutie verlagen (minder objecten)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Skjerm
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Lineær
|
||||
Low = Low
|
||||
Low latency display = Lav latens skjerm
|
||||
LowCurves = Spline/Bezier curves quality
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -644,6 +644,7 @@ Device = Urządzenie
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Wyłącz przycinanie
|
||||
Disabled = Wył.
|
||||
Display = Wyświetlacz
|
||||
Display layout & effects = Edytor położenia obrazu
|
||||
Display Resolution (HW scaler) = Rozdzielczość ekranu (skaler sprz.)
|
||||
Driver requires Android API version %1, current is %2 = Sterownik wymaga wersji %1 Android API, aktualna wersja to %2
|
||||
@@ -674,6 +675,7 @@ Lazy texture caching Tip = Szybsze, ale może powodować problemy z tekstem/napi
|
||||
Lens flare occlusion = Okluzja flary (halacji) obiektywu
|
||||
Linear = Liniowe
|
||||
Low = Niskie
|
||||
Low latency display = Ekran o niskiej latencji
|
||||
LowCurves = Detale krzywych sklejanych/Beziera (przyśpieszenie)
|
||||
LowCurves Tip = Używane tylko przez niektóre gry, kontroluje gładkość krzywych
|
||||
Lower resolution for effects (reduces artifacts) = Zmniejszenie rozdzielczość efektów (mniej błędów)
|
||||
|
||||
@@ -649,6 +649,7 @@ CPU texture upscaler (slow) = Tipo de ampliação
|
||||
Current GPU driver = Driver da GPU Atual
|
||||
Default GPU driver = Driver padrão da GPU
|
||||
Disable culling = Desativar o culling
|
||||
Display = Tela
|
||||
Display layout & effects = Ajustar a tela & efeitos
|
||||
Driver requires Android API version %1, current is %2 = O driver requer a versão %1 da API do Android, a atual é %2
|
||||
Drivers = Drivers
|
||||
@@ -701,6 +702,7 @@ Lazy texture caching Tip = Mais rápido mas pode causar problemas para carregar
|
||||
Lens flare occlusion = Oclusão da luz da lente
|
||||
Linear = Linear
|
||||
Low = Baixa
|
||||
Low latency display = Display de baixa latência
|
||||
LowCurves = Qualidade das curvas spline/bezier
|
||||
LowCurves Tip = Usado só por alguns jogos, controla a suavidade das curvas
|
||||
Lower resolution for effects (reduces artifacts) = Resolução menor para efeitos (reduz artefatos)
|
||||
|
||||
@@ -667,6 +667,7 @@ Device = Dispositivo
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Desativado
|
||||
Display = Ecrã
|
||||
Display layout & effects = Mostrar o editor dos esquemas
|
||||
Display Resolution (HW scaler) = Resolução da tela (Dimensionador do hardware)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -702,6 +703,7 @@ Lazy texture caching Tip = Mais rápido, mas pode causar problemas no texto em a
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linear
|
||||
Low = Baixa
|
||||
Low latency display = Ecrã de baixa latência
|
||||
LowCurves = Qualidade das curvas spline/bezier
|
||||
LowCurves Tip = Usado só em alguns jogos, controla a suavidade das curvas
|
||||
Lower resolution for effects (reduces artifacts) = Menor Resolução dos efeitos (reduz artefatos)
|
||||
|
||||
@@ -644,6 +644,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Display
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Rezoluție ecran (scalare HW)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -679,6 +680,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linear
|
||||
Low = Jos
|
||||
Low latency display = Ecran cu latență scăzută
|
||||
LowCurves = Calitate curbe Spline/Bezier
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Rezoluții mai mici pt. efecte (reduce artefacte)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Устройство
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Отключить отбраковку
|
||||
Disabled = Откл.
|
||||
Display = Дисплей
|
||||
Display layout & effects = Расположение экрана и эффектов
|
||||
Display Resolution (HW scaler) = Разрешение экрана (аппаратное)
|
||||
Driver requires Android API version %1, current is %2 = Для драйвера требуется Android API версии %1, текущая - %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Быстрее, но может вызвать про
|
||||
Lens flare occlusion = Окклюзия бликов объектива
|
||||
Linear = Линейный
|
||||
Low = Низкое
|
||||
Low latency display = Дисплей с низкой задержкой
|
||||
LowCurves = Качество сплайнов и кривых Безье
|
||||
LowCurves Tip = Используется в некоторых играх, влияет на плавность кривых
|
||||
Lower resolution for effects (reduces artifacts) = Эффекты низкого качества (меньше артефактов)
|
||||
|
||||
@@ -644,6 +644,7 @@ Device = Enhet
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Inaktivera klippning
|
||||
Disabled = Avstängd
|
||||
Display = Skärm
|
||||
Display layout & effects = Skärmlayout och effekter
|
||||
Display Resolution (HW scaler) = Skärmupplösning (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Drivrutinen kräver Android-API-version %1, nuvarande är %2
|
||||
@@ -679,6 +680,7 @@ Lazy texture caching Tip = Snabbare, men kan orsaka problem med text i vissa spe
|
||||
Lens flare occlusion = Linsljus-blockering
|
||||
Linear = Linjär
|
||||
Low = Låg
|
||||
Low latency display = Låg latens visning
|
||||
LowCurves = Spline/Bezier-kvalitet
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lägre upplösning för effekter (bättre kvalitet)
|
||||
|
||||
@@ -644,6 +644,7 @@ Device = Device
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Disabled
|
||||
Display = Намоиш
|
||||
Display layout & effects = Display layout & effects
|
||||
Display Resolution (HW scaler) = Display resolution (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -679,6 +680,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Linyar
|
||||
Low = Low
|
||||
Low latency display = Дисплей бо таъхир
|
||||
LowCurves = Mababang kalidad ng splines at bezier curves (pampa-bilis)
|
||||
LowCurves Tip = Only used by some games, controls smoothness of curves
|
||||
Lower resolution for effects (reduces artifacts) = Lower resolution for effects (reduces artifacts)
|
||||
|
||||
@@ -660,6 +660,7 @@ Device = การ์ดจอ
|
||||
Direct3D 11 = ไดเร็คท์ 3D 11
|
||||
Disable culling = ปิดการใช้งาน culling
|
||||
Disabled = ปิดการใช้งาน
|
||||
Display = แสดงผล
|
||||
Display layout & effects = รูปแบบหน้าจอ และเอฟเฟ็คท์
|
||||
Display Resolution (HW scaler) = ความละเอียดหน้าจอ (ตามฮาร์ดแวร์)
|
||||
Driver requires Android API version %1, current is %2 = ไดรเวอร์นี้ต้องการแอนดรอยด์ API ที่เวอร์ชั่น %1, แต่มือถือนี้ใช้เวอร์ชั่น %2
|
||||
@@ -696,6 +697,7 @@ Lazy texture caching Tip = เร็วขึ้น แต่อาจจะท
|
||||
Lens flare occlusion = การบดบังแสงเลนส์แฟลร์
|
||||
Linear = แบบเชิงเส้น
|
||||
Low = ต่ำ
|
||||
Low latency display = จอแสดงผลการหน่วงเวลาต่ำ
|
||||
LowCurves = ระดับของเส้นโค้ง Spline/Bezier
|
||||
LowCurves Tip = ใช้แค่ในบางเกม ช่วยปรับคุณภาพของเส้นโค้งให้มีความเรียบเนียนขึ้น
|
||||
Lower resolution for effects (reduces artifacts) = ลดความละเอียดของเอฟเฟ็คต์ให้ต่ำลง (ลดขอบภาพสว่าง)
|
||||
|
||||
@@ -645,6 +645,7 @@ Device = Cihaz
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Ayıklamayı Devre Dışı Bırak
|
||||
Disabled = Devre Dışı
|
||||
Display = Ekran
|
||||
Display layout & effects = Ekran Düzeni ve Efektleri
|
||||
Display Resolution (HW scaler) = Görüntü Çözünürlüğü (HW ölçek)
|
||||
Driver requires Android API version %1, current is %2 = Sürücü, Android API'nin %1 sürümünü gerektiriyor, şu anki sürüm %2
|
||||
@@ -680,6 +681,7 @@ Lazy texture caching Tip = Daha hızlıdır ancak bazı oyunlarda yazılarda sor
|
||||
Lens flare occlusion = Lens parlaması tıkanıklığı
|
||||
Linear = Doğrusal
|
||||
Low = Düşük
|
||||
Low latency display = Düşük gecikme ekranı
|
||||
LowCurves = Düşük Eğriler
|
||||
LowCurves Tip = Sadece bazı oyunlar tarafından kullanılır, eğrilerin pürüzsüzlüğünü kontrol eder
|
||||
Lower resolution for effects (reduces artifacts) = Efektler İçin Düşük Çözünürlük (sorunları azaltır)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Пристрій
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Вимкнути вибракування
|
||||
Disabled = Вимкнено
|
||||
Display = Відображення
|
||||
Display layout & effects = Редактор розташування екрану
|
||||
Display Resolution (HW scaler) = Розширення екрану (HW масштабування)
|
||||
Driver requires Android API version %1, current is %2 = Драйвер вимагає Андроїд API версію %1, поточна %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Швидше, але може спричинити п
|
||||
Lens flare occlusion = Оклюзія відблисків об'єктива
|
||||
Linear = Лінійний
|
||||
Low = Низька
|
||||
Low latency display = Дисплей з низькою затримкою
|
||||
LowCurves = Якість сплайну
|
||||
LowCurves Tip = Використовується лише в деяких іграх, контролюючи плавність кривих
|
||||
Lower resolution for effects (reduces artifacts) = Ефекти низької якості (зменшує артефакти)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = Thiết bị
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Disable culling
|
||||
Disabled = Vô hiệu hóa
|
||||
Display = Hiển thị
|
||||
Display layout & effects = Chỉnh bố trí hiển thị
|
||||
Display Resolution (HW scaler) = Độ phân giải màn hình (HW scaler)
|
||||
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = Faster, but can cause text problems in a few games
|
||||
Lens flare occlusion = Lens flare occlusion
|
||||
Linear = Tuyến tính
|
||||
Low = Thấp
|
||||
Low latency display = Màn hình độ trễ thấp
|
||||
LowCurves = Đường cong Spline/bezier chất lượng thấp (tăng tốc)
|
||||
LowCurves Tip = Chỉ được sử dụng bởi một số trò chơi, kiểm soát độ mượt của đường cong.
|
||||
Lower resolution for effects (reduces artifacts) = Độ phân giải thấp cho các hiệu ứng (làm giảm vật thể)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = 设备
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = 关闭遮挡剔除 (修复模型错误)
|
||||
Disabled = 禁用
|
||||
Display = 显示
|
||||
Display layout & effects = 屏幕布局和滤镜
|
||||
Display Resolution (HW scaler) = 屏幕分辨率
|
||||
Driver requires Android API version %1, current is %2 = 驱动需要Android API版本 %1, 目前系统版本为%2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = 速度更快,并使部分游戏文字渲染出错
|
||||
Lens flare occlusion = 镜头眩光遮挡
|
||||
Linear = 线性过滤
|
||||
Low = 低质量
|
||||
Low latency display = 低延迟显示
|
||||
LowCurves = 贝塞尔曲线质量 (提速)
|
||||
LowCurves Tip = 调整曲线的绘制质量,只有少数游戏适用此设置
|
||||
Lower resolution for effects (reduces artifacts) = 降低特效分辨率 (修复光晕效果)
|
||||
|
||||
@@ -643,6 +643,7 @@ Device = 裝置
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = 停用揀選
|
||||
Disabled = 已停用
|
||||
Display = 顯示
|
||||
Display layout & effects = 顯示版面配置與效果
|
||||
Display Resolution (HW scaler) = 顯示解析度 (硬體縮放)
|
||||
Driver requires Android API version %1, current is %2 = 驅動程式需要 Android API 版本為 %1,目前為 %2
|
||||
@@ -678,6 +679,7 @@ Lazy texture caching Tip = 更快,但在某些遊戲中可能會造成文字
|
||||
Lens flare occlusion = 鏡頭眩光遮蔽
|
||||
Linear = 線性
|
||||
Low = 低
|
||||
Low latency display = 低延遲顯示
|
||||
LowCurves = 曲線/貝茲曲線品質
|
||||
LowCurves Tip = 僅供少數遊戲使用,控制曲線平滑度
|
||||
Lower resolution for effects (reduces artifacts) = 降低效果解析度 (降低失真)
|
||||
|
||||
@@ -77,8 +77,16 @@ bool IOSVulkanContext::InitFromRenderThread(CAMetalLayer *layer, int desiredBack
|
||||
return false;
|
||||
}
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
bool useMultiThreading = g_Config.bRenderMultiThreading;
|
||||
if (g_Config.iInflightFrames == 1) {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
|
||||
draw_ = Draw::T3DCreateVulkanContext(g_Vulkan, useMultiThreading);
|
||||
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
if (!g_Vulkan->InitSwapchain(presentMode)) {
|
||||
delete draw_;
|
||||
ERROR_LOG(Log::G3D, "InitSwapchain failed");
|
||||
g_Vulkan->DestroySwapchain();
|
||||
g_Vulkan->DestroySurface();
|
||||
@@ -87,12 +95,6 @@ bool IOSVulkanContext::InitFromRenderThread(CAMetalLayer *layer, int desiredBack
|
||||
return false;
|
||||
}
|
||||
|
||||
bool useMultiThreading = g_Config.bRenderMultiThreading;
|
||||
if (g_Config.iInflightFrames == 1) {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
|
||||
draw_ = Draw::T3DCreateVulkanContext(g_Vulkan, useMultiThreading);
|
||||
SetGPUBackend(GPUBackend::VULKAN);
|
||||
bool shaderSuccess = draw_->CreatePresets(); // Doesn't fail, we ship the compiler.
|
||||
_assert_msg_(shaderSuccess, "Failed to compile preset shaders");
|
||||
@@ -131,7 +133,7 @@ void IOSVulkanContext::Resize() {
|
||||
g_Vulkan->DestroySwapchain();
|
||||
g_Vulkan->DestroySurface();
|
||||
g_Vulkan->ReinitSurface();
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan();
|
||||
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
|
||||
g_Vulkan->InitSwapchain(presentMode);
|
||||
draw_->HandleEvent(Draw::Event::GOT_BACKBUFFER, g_Vulkan->GetBackbufferWidth(), g_Vulkan->GetBackbufferHeight());
|
||||
INFO_LOG(Log::G3D, "IOSVulkanContext::Resize end (final size: %dx%d)", g_Vulkan->GetBackbufferWidth(), g_Vulkan->GetBackbufferHeight());
|
||||
|
||||
@@ -139,6 +139,7 @@ void LibretroVulkanContext::CreateDrawContext() {
|
||||
useMultiThreading = false;
|
||||
}
|
||||
draw_ = Draw::T3DCreateVulkanContext(vk, useMultiThreading);
|
||||
|
||||
((VulkanRenderManager*)draw_->GetNativeObject(Draw::NativeObject::RENDER_MANAGER))->SetInflightFrames(g_Config.iInflightFrames);
|
||||
SetGPUBackend(GPUBackend::VULKAN);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user