What is the messages per second (msgs/s) that the current code can achieve?
If your parsing/processing code can't handle more than 25 messages a second, then no amount of buffering is going to help.
That code needs to be profiled to see what's taking so long. If that code can't handle 25 msgs/s, then which part is taking so long?Code:case Can_Msgs.mMAP_SPEED_INFO.msg_id: RawCanData = xDataConv.data_to_ui64(CanData); i = filt_CParsDbcFile.Search4Message(uMsgId); if ( i != -1 ) { Can_Msgs.mMAP_SPEED_INFO.last_receive_time = GetTickCount(); j = filt_CParsDbcFile.Search4Signal(uMsgId,"MapCrntPstSpdLimVld" ); if( j != -2 ) { Startbit = (63-((int)filt_CParsDbcFile.m_pSigDescs[j].startByte*8))-(7-(int)filt_CParsDbcFile.m_pSigDescs[j].startBit); Can_Msgs.mMAP_SPEED_INFO.MapCrntPstSpdLimVld = xDataConv.get_bool(RawCanData, Startbit); } } break;
gg




Reply With Quote