profile audio calls

This commit is contained in:
in0finite 2021-08-05 14:39:34 +02:00
parent 7b491d49ae
commit 5a84e5fd61
2 changed files with 16 additions and 0 deletions

View file

@ -2,6 +2,7 @@
using System; using System;
using System.IO; using System.IO;
using UnityEngine; using UnityEngine;
using UnityEngine.Profiling;
namespace SanAndreasUnity.Audio namespace SanAndreasUnity.Audio
{ {
@ -40,9 +41,12 @@ namespace SanAndreasUnity.Audio
/// <param name="closeStreamOnDispose">Close stream on dispose</param> /// <param name="closeStreamOnDispose">Close stream on dispose</param>
public AudioStream(Stream stream, string audioClipName, bool closeStreamOnDispose) public AudioStream(Stream stream, string audioClipName, bool closeStreamOnDispose)
{ {
Profiler.BeginSample("VorbisReader()");
reader = new VorbisReader(stream, closeStreamOnDispose); reader = new VorbisReader(stream, closeStreamOnDispose);
Profiler.EndSample();
audioClip = AudioClip.Create(audioClipName, (int)(reader.TotalSamples), reader.Channels, reader.SampleRate, true, (data) => audioClip = AudioClip.Create(audioClipName, (int)(reader.TotalSamples), reader.Channels, reader.SampleRate, true, (data) =>
{ {
Profiler.BeginSample("reader.ReadSamples()");
if (data != null) if (data != null)
{ {
if (data.Length > 0) if (data.Length > 0)
@ -50,9 +54,12 @@ namespace SanAndreasUnity.Audio
reader.ReadSamples(data, 0, Mathf.Min(data.Length, Mathf.Max(0, (int)(reader.TotalSamples - reader.DecodedPosition)))); reader.ReadSamples(data, 0, Mathf.Min(data.Length, Mathf.Max(0, (int)(reader.TotalSamples - reader.DecodedPosition))));
} }
} }
Profiler.EndSample();
}, (newPosition) => }, (newPosition) =>
{ {
Profiler.BeginSample("set DecodedPosition");
reader.DecodedPosition = newPosition; reader.DecodedPosition = newPosition;
Profiler.EndSample();
}); });
} }

View file

@ -3,6 +3,7 @@ using UnityEngine;
using GTAAudioSharp; using GTAAudioSharp;
using System.IO; using System.IO;
using SanAndreasUnity.Audio; using SanAndreasUnity.Audio;
using UnityEngine.Profiling;
namespace SanAndreasUnity.Behaviours.Audio namespace SanAndreasUnity.Behaviours.Audio
{ {
@ -73,6 +74,8 @@ namespace SanAndreasUnity.Behaviours.Audio
public static AudioClip CreateAudioClipFromStream (string streamFileName, int bankIndex) public static AudioClip CreateAudioClipFromStream (string streamFileName, int bankIndex)
{ {
Profiler.BeginSample("CreateAudioClipFromStream()");
AudioStream audio_stream = null; AudioStream audio_stream = null;
System.DateTime startTime = System.DateTime.Now; System.DateTime startTime = System.DateTime.Now;
@ -85,10 +88,14 @@ namespace SanAndreasUnity.Behaviours.Audio
{ {
try try
{ {
Profiler.BeginSample("Open audio stream");
Stream stream = s_gtaAudioFiles.OpenStreamsAudioStreamByName(streams_file_name, (uint)streams_bank_index); Stream stream = s_gtaAudioFiles.OpenStreamsAudioStreamByName(streams_file_name, (uint)streams_bank_index);
Profiler.EndSample();
if (stream != null) if (stream != null)
{ {
Profiler.BeginSample("AudioStream()");
audio_stream = new AudioStream(stream, key, true); audio_stream = new AudioStream(stream, key, true);
Profiler.EndSample();
} }
} }
catch (System.Exception e) catch (System.Exception e)
@ -106,6 +113,8 @@ namespace SanAndreasUnity.Behaviours.Audio
return audio_stream.AudioClip; return audio_stream.AudioClip;
} }
Profiler.EndSample();
return null; return null;
} }