From e926499e3271aeb8423c94007aeba2464bb712bb Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Sat, 20 Jan 2024 21:09:07 +0000 Subject: [PATCH] android - add performance stats --- .../java/org/ryujinx/android/MainActivity.kt | 3 + .../org/ryujinx/android/PerformanceMonitor.kt | 113 ++++++++++++++++++ .../org/ryujinx/android/views/GameViews.kt | 30 +++-- 3 files changed, 137 insertions(+), 9 deletions(-) create mode 100644 src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PerformanceMonitor.kt diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt index 3971e64d4..b93abfbb6 100644 --- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt +++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt @@ -37,6 +37,7 @@ class MainActivity : BaseActivity() { var mainViewModel: MainViewModel? = null var AppPath : String = "" var StorageHelper: SimpleStorageHelper? = null + val performanceMonitor = PerformanceMonitor() @JvmStatic fun updateRenderSessionPerformance(gameTime : Long) @@ -120,6 +121,8 @@ class MainActivity : BaseActivity() { } } } + + val freq = performanceMonitor.getFrequencies() } override fun onSaveInstanceState(outState: Bundle) { diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PerformanceMonitor.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PerformanceMonitor.kt new file mode 100644 index 000000000..b40dc7c02 --- /dev/null +++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/PerformanceMonitor.kt @@ -0,0 +1,113 @@ +package org.ryujinx.android + +import android.app.ActivityManager +import android.content.Context.ACTIVITY_SERVICE +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import java.io.RandomAccessFile +import kotlin.concurrent.thread + +class PerformanceMonitor { + val numberOfCores = Runtime.getRuntime().availableProcessors() + private var isMonitoring: Boolean = false + fun startMonitoring() { + if(isMonitoring) + return + + isMonitoring = true + + thread { + monitor() + } + } + + init { + + } + + fun monitor(){ + while(isMonitoring) { + //lastCpuUsages = HardwarePropertiesManager. + + //Thread.sleep(1000); + } + } + + fun getFrequencies() : List { + val frequencies = mutableListOf() + for (i in 0.. { + val mem = mutableListOf() + MainActivity.mainViewModel?.activity?.apply { + val actManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager + val memInfo = ActivityManager.MemoryInfo() + actManager.getMemoryInfo(memInfo) + val availMemory = memInfo.availMem.toDouble()/(1024*1024) + val totalMemory= memInfo.totalMem.toDouble()/(1024*1024) + + mem.add((totalMemory - availMemory).toInt()) + mem.add(totalMemory.toInt()) + } + return mem.toList() + } + + @Composable + fun RenderUsage() { + LazyColumn{ + val frequencies = getFrequencies() + val mem = getMemoryUsage() + + for (i in 0..