WPS Excel RTD在某些模板下ConnectData慢的跟乌龟一样
public:
STDMETHOD(ServerStart)(IRTDUpdateEvent * CallbackObject, long *ServerStart)
{
*ServerStart = 1;
return S_OK;
}
STDMETHOD(ConnectData)(long TopicID, SAFEARRAY * * Strings, VARIANT_BOOL * GetNewValues, VARIANT *ConnectData)
{
ConnectData->vt = VT_BSTR;
ConnectData->bstrVal = _bstr_t(L"finished").Detach();
return S_OK;
}
STDMETHOD(RefreshData)(long * TopicCount, SAFEARRAY * *RefreshData)
{
return S_OK;
}
STDMETHOD(DisconnectData)(long TopicID)
{
return S_OK;
}
STDMETHOD(Heartbeat)(long *Heartbeat)
{
*Heartbeat = 1;
return S_OK;
}
STDMETHOD(ServerTerminate)()
{
return S_OK;
}
}; 这个是我的RTD服务实现,仅在连接数据时直接返回finished。但是我用特定模板打开只有20万个RTD函数的情况下,几分钟都刷新不完。正常的模板哪怕是上百万的RTD函数很快就刷新完了。同样的模板测试了Excel,Excel速度都很快,并没有发现此类问题。这应该是WPS 内部RTD实现逻辑有问题,是一个WPS的BUG


金山办公
@金山办公