[RMP 10.4.3]
I’m seeing some performance issues in my app, so I did a sampling performance capture. I see something that I don’t understand.
The top of the call stack looks like this
DeviceIoControl KERNELBASE
DeviceIoControlImplementation KERNEL32
_ntxRegSetValueExW ntx
_ntxRegSetValueExW ntx
ntxWaitForRtSemaphore ntx
mpiPlatformOSInterruptWait RapidCode
mpiPlatformInterruptWait RapidCode
mpiControlInterruptWait RapidCode
RSI::RapidCode::MotionController::CreateTrace RapidCode
SingleRMPController::HardwareInterruptWait RapidPath
...
The last frame shown is where I call SyncInterruptWait()
.
The last RapidCode frame piqued my interest. In my own experience, creating traces has a serious impact on performance. Is this frame in the call stack misleading, or is it actually creating traces?