mirror of
				https://git.h3cjp.net/H3cJP/citra.git
				synced 2025-11-04 09:05:08 +00:00 
			
		
		
		
	main: (Windows) Set the current timer resolution to the maximum
Increases the precision of thread sleeps on Windows.
This commit is contained in:
		
							parent
							
								
									7fffdf83b7
								
							
						
					
					
						commit
						7e353082ac
					
				| 
						 | 
				
			
			@ -91,6 +91,9 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
 | 
			
		|||
#include "common/microprofile.h"
 | 
			
		||||
#include "common/scm_rev.h"
 | 
			
		||||
#include "common/scope_exit.h"
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
#include "common/windows/timer_resolution.h"
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef ARCHITECTURE_x86_64
 | 
			
		||||
#include "common/x64/cpu_detect.h"
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -377,6 +380,12 @@ GMainWindow::GMainWindow(std::unique_ptr<Config> config_, bool has_broken_vulkan
 | 
			
		|||
    LOG_INFO(Frontend, "Host RAM: {:.2f} GiB",
 | 
			
		||||
             Common::GetMemInfo().TotalPhysicalMemory / f64{1_GiB});
 | 
			
		||||
    LOG_INFO(Frontend, "Host Swap: {:.2f} GiB", Common::GetMemInfo().TotalSwapMemory / f64{1_GiB});
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
    LOG_INFO(Frontend, "Host Timer Resolution: {:.4f} ms",
 | 
			
		||||
             std::chrono::duration_cast<std::chrono::duration<f64, std::milli>>(
 | 
			
		||||
                 Common::Windows::SetCurrentTimerResolutionToMaximum())
 | 
			
		||||
                 .count());
 | 
			
		||||
#endif
 | 
			
		||||
    UpdateWindowTitle();
 | 
			
		||||
 | 
			
		||||
    show();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,8 @@
 | 
			
		|||
#include <windows.h>
 | 
			
		||||
 | 
			
		||||
#include <shellapi.h>
 | 
			
		||||
 | 
			
		||||
#include "common/windows/timer_resolution.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#undef _UNICODE
 | 
			
		||||
| 
						 | 
				
			
			@ -314,6 +316,8 @@ int main(int argc, char** argv) {
 | 
			
		|||
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
    LocalFree(argv_w);
 | 
			
		||||
 | 
			
		||||
    Common::Windows::SetCurrentTimerResolutionToMaximum();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    MicroProfileOnThreadCreate("EmuThread");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue