Add RAM indicator

This commit is contained in:
QuackingCanary
2023-05-10 00:18:37 +02:00
committed by Niccolò Betto
parent 7c5fba36d4
commit e039a0ee94
2 changed files with 8 additions and 25 deletions

View File

@ -61,6 +61,7 @@ import emu.skyline.utils.GpuDriverHelper
import emu.skyline.utils.serializable import emu.skyline.utils.serializable
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.io.File
import java.nio.ByteBuffer import java.nio.ByteBuffer
import java.nio.ByteOrder import java.nio.ByteOrder
import java.util.concurrent.FutureTask import java.util.concurrent.FutureTask
@ -170,6 +171,7 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo
var fps : Int = 0 var fps : Int = 0
var averageFrametime : Float = 0.0f var averageFrametime : Float = 0.0f
var averageFrametimeDeviation : Float = 0.0f var averageFrametimeDeviation : Float = 0.0f
var ramUsage : Long = 0
/** /**
* Writes the current performance statistics into [fps], [averageFrametime] and [averageFrametimeDeviation] fields * Writes the current performance statistics into [fps], [averageFrametime] and [averageFrametimeDeviation] fields
@ -338,7 +340,9 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo
postDelayed(object : Runnable { postDelayed(object : Runnable {
override fun run() { override fun run() {
updatePerformanceStatistics() updatePerformanceStatistics()
text = "$fps FPS\n${"%.1f".format(averageFrametime)}±${"%.2f".format(averageFrametimeDeviation)}ms" // We read the `VmRSS` value from the kernel
ramUsage = File("/proc/self/statm").readLines()[0].split(' ')[1].toLong() * 4096 / 1000000
text = "$fps FPS • $ramUsage MB"
postDelayed(this, 250) postDelayed(this, 250)
} }
}, 250) }, 250)
@ -371,12 +375,7 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo
} }
binding.onScreenPauseToggle.apply { binding.onScreenPauseToggle.apply {
isGone = binding.onScreenControllerView.isGone isGone = !emulationSettings.showPauseButton
if(!emulationSettings.showPauseButton) {
binding.onScreenPauseToggle.visibility = View.GONE
} else {
binding.onScreenPauseToggle.visibility = View.VISIBLE
}
setOnClickListener { setOnClickListener {
if (isEmulatorPaused) { if (isEmulatorPaused) {
resumeEmulator() resumeEmulator()

View File

@ -40,22 +40,7 @@
android:layout_marginLeft="@dimen/onScreenItemHorizontalMargin" android:layout_marginLeft="@dimen/onScreenItemHorizontalMargin"
android:layout_marginTop="5dp" android:layout_marginTop="5dp"
android:textColor="@color/colorPerfStatsPrimary" android:textColor="@color/colorPerfStatsPrimary"
tools:text="60 FPS\n16.6±0.10ms" /> tools:text="60 FPS • 2000 MB" />
<GridLayout
android:layout_gravity="right"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/ram_stats"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="@dimen/onScreenItemHorizontalMargin"
tools:text="2000,00MB"
android:textColor="@color/colorRamUsage" />
<ImageButton <ImageButton
android:id="@+id/on_screen_pause_toggle" android:id="@+id/on_screen_pause_toggle"
@ -69,8 +54,6 @@
app:tint="#40FFFFFF" app:tint="#40FFFFFF"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
</GridLayout>
<ImageButton <ImageButton
android:id="@+id/on_screen_controller_toggle" android:id="@+id/on_screen_controller_toggle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -87,5 +70,6 @@
android:id="@+id/emulation_fragment" android:id="@+id/emulation_fragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />
</FrameLayout> </FrameLayout>
</FrameLayout> </FrameLayout>