📄 gapitimer.cs.svn-base
字号:
using System;
using System.Runtime.InteropServices;
namespace Aspecto.GapiDrawNet
{
/// <summary>
/// Summary description for CGapiTimer.
/// </summary>
public class GapiTimer : IDisposable
{
protected IntPtr unmanagedGapiObject;
public IntPtr GapiObject
{
get { return unmanagedGapiObject; }
}
public GapiTimer(IntPtr GapiDraw)
{
unmanagedGapiObject = GdNet.CGapiTimer_Create(GapiDraw);
}
virtual public void Dispose()
{
GdNet.CGapiTimer_Destroy(unmanagedGapiObject);
}
public void StartTimer(int TargetFrameRate)
{
UInt32 hResult = GdNet.CGapiTimer_StartTimer(unmanagedGapiObject, TargetFrameRate);
// int hResult = CGapiTimer_StartTimer(unmanagedGapiObject, TargetFrameRate);
}
public GapiResults WaitForNextFrame()
{
GapiResults hResult = (GapiResults)GdNet.CGapiTimer_UpdateTimer(unmanagedGapiObject);
if(hResult != 0 && hResult != GapiResults.GDERR_FRAMETIMEOVERFLOW)
{
GapiUtility.RaiseExceptionOnError((uint)hResult);
}
return (GapiResults)hResult;
}
public double GetActualFrameRate()
{
float pActualFrameRate = 0;
UInt32 hResult = GdNet.CGapiTimer_GetActualFrameRate(unmanagedGapiObject, ref pActualFrameRate);
return pActualFrameRate;
}
public double GetActualFrameTimeMS()
{
float pActualFrameTime = 0;
GdNet.CGapiTimer_GetActualFrameTime(unmanagedGapiObject, ref pActualFrameTime);
return pActualFrameTime;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -