Эх сурвалжийг харах

android: Always update FPS counter

Charles Lombardo 2 жил өмнө
parent
commit
9543adf072

+ 3 - 3
src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt

@@ -414,12 +414,12 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
             val FRAMETIME = 2
             val FRAMETIME = 2
             val SPEED = 3
             val SPEED = 3
             perfStatsUpdater = {
             perfStatsUpdater = {
-                if (emulationViewModel.emulationStarted.value == true) {
+                if (emulationViewModel.emulationStarted.value) {
                     val perfStats = NativeLibrary.getPerfStats()
                     val perfStats = NativeLibrary.getPerfStats()
-                    if (perfStats[FPS] > 0 && _binding != null) {
+                    if (_binding != null) {
                         binding.showFpsText.text = String.format("FPS: %.1f", perfStats[FPS])
                         binding.showFpsText.text = String.format("FPS: %.1f", perfStats[FPS])
                     }
                     }
-                    perfStatsUpdateHandler.postDelayed(perfStatsUpdater!!, 100)
+                    perfStatsUpdateHandler.postDelayed(perfStatsUpdater!!, 800)
                 }
                 }
             }
             }
             perfStatsUpdateHandler.post(perfStatsUpdater!!)
             perfStatsUpdateHandler.post(perfStatsUpdater!!)

+ 2 - 7
src/android/app/src/main/jni/native.cpp

@@ -199,8 +199,8 @@ bool EmulationSession::IsPaused() const {
     return m_is_running && m_is_paused;
     return m_is_running && m_is_paused;
 }
 }
 
 
-const Core::PerfStatsResults& EmulationSession::PerfStats() const {
-    std::scoped_lock m_perf_stats_lock(m_perf_stats_mutex);
+const Core::PerfStatsResults& EmulationSession::PerfStats() {
+    m_perf_stats = m_system.GetAndResetPerfStats();
     return m_perf_stats;
     return m_perf_stats;
 }
 }
 
 
@@ -381,11 +381,6 @@ void EmulationSession::RunEmulation() {
                 break;
                 break;
             }
             }
         }
         }
-        {
-            // Refresh performance stats.
-            std::scoped_lock m_perf_stats_lock(m_perf_stats_mutex);
-            m_perf_stats = m_system.GetAndResetPerfStats();
-        }
     }
     }
 }
 }
 
 

+ 1 - 2
src/android/app/src/main/jni/native.h

@@ -41,7 +41,7 @@ public:
     void RunEmulation();
     void RunEmulation();
     void ShutdownEmulation();
     void ShutdownEmulation();
 
 
-    const Core::PerfStatsResults& PerfStats() const;
+    const Core::PerfStatsResults& PerfStats();
     void ConfigureFilesystemProvider(const std::string& filepath);
     void ConfigureFilesystemProvider(const std::string& filepath);
     void InitializeSystem();
     void InitializeSystem();
     Core::SystemResultStatus InitializeEmulation(const std::string& filepath);
     Core::SystemResultStatus InitializeEmulation(const std::string& filepath);
@@ -80,6 +80,5 @@ private:
 
 
     // Synchronization
     // Synchronization
     std::condition_variable_any m_cv;
     std::condition_variable_any m_cv;
-    mutable std::mutex m_perf_stats_mutex;
     mutable std::mutex m_mutex;
     mutable std::mutex m_mutex;
 };
 };