mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-25 15:31:17 +01:00
VideoCommon: Store last window request width/height
This avoids the need to send a window resize event every frame.
This commit is contained in:
parent
00a0a91513
commit
811eafda57
@ -619,10 +619,8 @@ void Renderer::UpdateDrawRectangle()
|
||||
|
||||
void Renderer::SetWindowSize(int width, int height)
|
||||
{
|
||||
if (width < 1)
|
||||
width = 1;
|
||||
if (height < 1)
|
||||
height = 1;
|
||||
width = std::max(width, 1);
|
||||
height = std::max(height, 1);
|
||||
|
||||
// Scale the window size by the EFB scale.
|
||||
CalculateTargetScale(width, height, &width, &height);
|
||||
@ -659,7 +657,13 @@ void Renderer::SetWindowSize(int width, int height)
|
||||
width -= width % 4;
|
||||
height -= height % 4;
|
||||
|
||||
Host_RequestRenderWindowSize(width, height);
|
||||
// Track the last values of width/height to avoid sending a window resize event every frame.
|
||||
if (width != m_last_window_request_width || height != m_last_window_request_height)
|
||||
{
|
||||
m_last_window_request_width = width;
|
||||
m_last_window_request_height = height;
|
||||
Host_RequestRenderWindowSize(width, height);
|
||||
}
|
||||
}
|
||||
|
||||
void Renderer::CheckFifoRecording()
|
||||
|
@ -192,6 +192,10 @@ private:
|
||||
unsigned int m_efb_scale_denominatorX = 1;
|
||||
unsigned int m_efb_scale_denominatorY = 1;
|
||||
|
||||
// These will be set on the first call to SetWindowSize.
|
||||
int m_last_window_request_width = 0;
|
||||
int m_last_window_request_height = 0;
|
||||
|
||||
// frame dumping
|
||||
std::thread m_frame_dump_thread;
|
||||
Common::Event m_frame_dump_start;
|
||||
|
Loading…
x
Reference in New Issue
Block a user