Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
VTuneProfiler.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 
4 #if SILICONSTUDIO_PLATFORM_WINDOWS_DESKTOP
5 
6 using System;
7 using System.Runtime.InteropServices;
8 
9 namespace SiliconStudio.Core.Diagnostics
10 {
11  /// <summary>
12  /// This static class gives access to the Pause/Resume API of VTune Amplifier. It is available on Windows Desktop platform only.
13  /// </summary>
14  public static class VTuneProfiler
15  {
16  /// <summary>
17  /// Resumes the profiler.
18  /// </summary>
19  public static void Resume()
20  {
21  try
22  {
23  __itt_resume();
24  }
25  catch (DllNotFoundException)
26  {
27  }
28  }
29 
30  /// <summary>
31  /// Suspends the profiler.
32  /// </summary>
33  public static void Pause()
34  {
35  try
36  {
37  __itt_pause();
38  }
39  catch (DllNotFoundException)
40  {
41  }
42  }
43 
44  [DllImport("libittnotify.dll")]
45  private static extern void __itt_resume();
46 
47  [DllImport("libittnotify.dll")]
48  private static extern void __itt_pause();
49  }
50 }
51 
52 #endif