DXUT框架剖析(11)

DXUT统计函数

函数
描述

DXUTGetFPS
获取当前每秒提交的帧数

DXUTGetFrameStats
获取一个指向字符串的指针,该字符串包括每秒帧数、分辨率、后台缓冲区格式、深度缓冲区格式。

DXUTGetDeviceStats
获取一个指向字符串的指针,该字符串包括当前设备类型、顶点运算行为和设备名。

DXUTGetFPS

Get the current number of frames being presented per second.

  FLOAT DXUTGetFPS()  ;
Parameters

None.

Return Values

The current number of frames being presented per second.

DXUTGetFrameStats

Get a pointer to a string containing the current number of frames per second (optionally), resolution, back buffer format, and depth stencil format.

  LPCWSTR DXUTGetFrameStats(  
bool bIncludeFPS
) ;
Parameters
bIncludeFPS
[in] If true, the string returned will contain the frames per second. Otherwise, it will not.
Return Values

Pointer to a string containing the current number of frames per second (optionally), resolution, back buffer format, and depth stencil format.

DXUTGetDeviceStats

Get a pointer to a string containing the current device type, vertex processing behavior, and device name.

  LPCWSTR DXUTGetDeviceStats()  ;
Parameters

None.

Return Values

Pointer to a string containing the current device type, vertex processing behavior, and device name.

DXUT时间函数

函数
描述

DXUTGetTime
获取当前时间(秒)

DXUTGetElapsedTime
获取从上一帧到当前帧所经过的时间

DXUTSetConstantFrameTime
启用或禁用固定帧时间

DXUTGetTime

Get the current time, in seconds.

  DOUBLE DXUTGetTime()  ;
Parameters

None.

Return Values

The current time, in seconds.

Remarks

DXUT internally uses the best practices for high resolution timing information as described in the "Game Timing and Multicore Processors" article in the DirectX SDK.

DXUTGetElapsedTime

Get the time elapsed since the last frame.

  FLOAT DXUTGetElapsedTime()  ;
Parameters

None.

Return Values

Time elapsed, in seconds, since the last frame.

Remarks

DXUT internally uses the best practices for high resolution timing information as described in the "Game Timing and Multicore Processors" article in the DirectX SDK.

DXUTSetConstantFrameTime

Enables or disables a constant frame time.

  HRESULT DXUTSetConstantFrameTime(  
BOOL bEnabled ,
FLOAT fTimePerFrame
) ;
Parameters
bEnabled
[in] If TRUE, a constant frame time will be enabled.
fTimePerFrame
[in] Time per frame, in seconds. The default value is 0.0333f, so the fTime parameter of LPDXUTCALLBACKFRAMEMOVE and the render callback functions will advance one second for every 30 frames.
Return Values

If the function succeeds, the return value is S_OK. If the function fails, the return value can be one of the error codes in DXUTERR.

Remarks

This function simulates a fixed-frame rate render loop by sending a constant value for elapsed time to theLPDXUTCALLBACKFRAMEMOVE and render callback functions. The default rate is one second for every 30 frames. The application itself will continue to render at an unregulated rate (which may be far higher than the specified frame rate).

This function is useful for saving the rendered output to a video format for playback, allowing animation at a rate independent of the actual rate at which frames were rendered.

DXUT计时器函数

函数
描述

DXUTSetTimer
添加一个新的计时器

DXUTKillTimer
卸载一个已有的计时器

DXUTSetTimer

Starts a DXUT timer that will trigger a callback function at regular intervals.

  HRESULT DXUTSetTimer(  
LPDXUTCALLBACKTIMER pCallbackTimer ,
FLOAT fTimeoutInSecs ,
UINT * pnIDEvent ,
void * pCallbackUserContext
) ;
Parameters
pCallbackTimer
[in] Pointer to a timer callback function. The callback function is to be called at the specified fTimeoutInSecs timeout intervals. May not be NULL.
fTimeoutInSecs
[in] Interval, in seconds, between successive calls to the timer callback function. The default value is 1.0f.
pnIDEvent
[in] Optional pointer to a variable to receive the event ID for the new timer. This event ID will be passed to the timer callback function to indicate which timer generated the event, allowing the application to use a single callback function for multiple timers. The default value is NULL.
pCallbackUserContext
[in] Pointer to a user-defined value which is passed to the callback function. Typically used by an application to pass a pointer to a data structure that provides context information for the callback function. The default value is NULL
Return Values

If the function succeeds, the return value is S_OK. If the function fails, the return value can be one of the error codes in DXUTERR.

Remarks

Timers created with DXUTSetTimer can be destroyed with DXUTKillTimer.

LPDXUTCALLBACKTIMER

A timer to be called at specified time intervals by DXUT.

  VOID LPDXUTCALLBACKTIMER(  
UINT idEvent ,
void* pUserContext
) ;
Parameters
idEvent
[in] Specifies a nonzero timer event ID. Indicates which timer generated the event, allowing the application to use a single callback function for multiple timers.
pUserContext
[in] Pointer to a user-defined value which is passed to the callback function. Typically used by an application to pass a pointer to a data structure that provides context information for the callback function. The default value is NULL
Return Values

No return value.

Remarks

DXUT will call this function at the start of the frame, before calling LPDXUTCALLBACKFRAMEMOVE or LPDXUTCALLBACKD3D10FRAMERENDER.

DXUTKillTimer

Uninstalls an existing timer.

  HRESULT DXUTKillTimer(  
UINT nIDEvent
) ;
Parameters
nIDEvent
[in] The event ID for the timer being destroyed. This ID is provided to the application by the DXUTSetTimer method.
Return Values

If the function succeeds, the return value is S_OK. If the function fails, the return value can be one of the error codes in DXUTERR.

Remarks

Timers created with DXUTSetTimer can be destroyed with DXUTKillTimer .

内容概要:本文深入剖析了激光打标领域中两种核心通信协议——XY2-100与SL2-100的技术原理与应用差异。详细介绍了两种协议在数据传输结构、通信速率、指令集功能、参数设置灵活性以及错误处理机制等方面的异同,并结合实际应用案例,对比了它们在常规打标与精密加工场景下的表现。文章指出,XY2-100协议结构简单、成本低,适用于基础二维打标任务;而SL2-100协议具备更高通信速率、丰富指令集(如曲线插补)和精细化控制能力,更适合高精度、复杂图形及特殊材料的打标需求。最后,文章从打标需求、设备兼容性和成本三个维度提供了协议选型建议,并展望了协议技术未来向高速化、智能化发展的趋势。; 适合人群:从事激光打标设备研发、集成与应用的工程师,自动化控制、光电技术相关专业技术人员,以及智能制造领域中涉及激光加工的从业者;具备一定工控通信基础的技术人员尤为适合。; 使用场景及目标:①帮助技术人员理解XY2-100与SL2-100协议的核心差异,指导在实际项目中合理选型;②为激光打标系统的设计、调试与优化提供理论依据和技术参考;③提升对振镜控制、数据通信与打标质量关系的理解,推动高精度打标工艺的实现。; 阅读建议:此资源以技术解析与案例对比为主线,建议结合具体打标设备和控制软件进行对照学习,重点关注协议参数设置与指令执行逻辑,并在实际调试中验证不同协议下的打标效果差异,以深化理解并指导工程实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值