1
This commit is contained in:
parent
9aa51c221c
commit
3698705975
|
@ -82,18 +82,18 @@ func (l *RenderNotifyLogic) RenderNotify(req *types.RenderNotifyReq, userinfo *a
|
||||||
}
|
}
|
||||||
//记录收到unity渲染结果时间以及上传渲染图耗时时间
|
//记录收到unity渲染结果时间以及上传渲染图耗时时间
|
||||||
ws.modifyRenderTaskTimeConsuming(renderImageControlChanItem{
|
ws.modifyRenderTaskTimeConsuming(renderImageControlChanItem{
|
||||||
Option: 2,
|
option: 2,
|
||||||
TaskId: req.TaskId,
|
taskId: req.TaskId,
|
||||||
TaskProperty: renderTask{
|
taskProperty: renderTask{
|
||||||
UnityRenderEndTime: unityRenderEndTime,
|
unityRenderEndTime: unityRenderEndTime,
|
||||||
UploadUnityRenderImageTakesTime: uploadUnityRenderImageTakesTime,
|
uploadUnityRenderImageTakesTime: uploadUnityRenderImageTakesTime,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
//发送处理并删除任务
|
//发送处理并删除任务
|
||||||
ws.deleteRenderTask(renderImageControlChanItem{
|
ws.deleteRenderTask(renderImageControlChanItem{
|
||||||
Option: 0, //0删除 1添加 2修改耗时属性
|
option: 0, //0删除 1添加 2修改耗时属性
|
||||||
TaskId: req.TaskId,
|
taskId: req.TaskId,
|
||||||
RenderNotifyImageUrl: uploadRes.ResourceUrl,
|
renderNotifyImageUrl: uploadRes.ResourceUrl,
|
||||||
})
|
})
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
|
|
|
@ -27,21 +27,21 @@ type extendRenderProperty struct {
|
||||||
|
|
||||||
// 渲染任务新增移除的控制通道的数据
|
// 渲染任务新增移除的控制通道的数据
|
||||||
type renderImageControlChanItem struct {
|
type renderImageControlChanItem struct {
|
||||||
Option int // 0删除 1添加
|
option int // 0删除 1添加
|
||||||
TaskId string //map的key
|
taskId string //map的key
|
||||||
RenderId string // map的val(增加任务时候传)
|
renderId string // map的val(增加任务时候传)
|
||||||
RenderNotifyImageUrl string //渲染回调数据(删除任务时候传)
|
renderNotifyImageUrl string //渲染回调数据(删除任务时候传)
|
||||||
TaskProperty renderTask //渲染任务的属性
|
taskProperty renderTask //渲染任务的属性
|
||||||
}
|
}
|
||||||
|
|
||||||
// 渲染任务属性
|
// 渲染任务属性
|
||||||
type renderTask struct {
|
type renderTask struct {
|
||||||
RenderId string //渲染id(前端传的)
|
renderId string //渲染id(前端传的)
|
||||||
CombineTakesTime int64 //合刀版图耗时
|
combineTakesTime int64 //合刀版图耗时
|
||||||
UploadCombineImageTakesTime int64 //上传刀版图耗时
|
uploadCombineImageTakesTime int64 //上传刀版图耗时
|
||||||
UnityRenderBeginTime int64 //发送给unity时间
|
unityRenderBeginTime int64 //发送给unity时间
|
||||||
UnityRenderEndTime int64 //unity回调结果时间
|
unityRenderEndTime int64 //unity回调结果时间
|
||||||
UploadUnityRenderImageTakesTime int64 //上传unity渲染结果图时间
|
uploadUnityRenderImageTakesTime int64 //上传unity渲染结果图时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送到渲染缓冲池
|
// 发送到渲染缓冲池
|
||||||
|
@ -181,9 +181,9 @@ func (w *wsConnectItem) consumeRenderCache(data []byte) {
|
||||||
//###########################################
|
//###########################################
|
||||||
//把需要渲染的图片任务加进去
|
//把需要渲染的图片任务加进去
|
||||||
w.createRenderTask(renderImageControlChanItem{
|
w.createRenderTask(renderImageControlChanItem{
|
||||||
Option: 1, //0删除 1添加 2修改耗时属性
|
option: 1, //0删除 1添加 2修改耗时属性
|
||||||
TaskId: taskId,
|
taskId: taskId,
|
||||||
RenderId: renderImageData.RenderId,
|
renderId: renderImageData.RenderId,
|
||||||
})
|
})
|
||||||
//组装数据
|
//组装数据
|
||||||
if err = w.assembleRenderData(taskId, renderImageData, productTemplate, model3dInfo, element, productFirstSize); err != nil {
|
if err = w.assembleRenderData(taskId, renderImageData, productTemplate, model3dInfo, element, productFirstSize); err != nil {
|
||||||
|
@ -247,11 +247,11 @@ func (w *wsConnectItem) assembleRenderData(taskId string, info websocket_data.Re
|
||||||
}
|
}
|
||||||
//记录刀版图合成消耗时间跟上传刀版图时间
|
//记录刀版图合成消耗时间跟上传刀版图时间
|
||||||
w.modifyRenderTaskTimeConsuming(renderImageControlChanItem{
|
w.modifyRenderTaskTimeConsuming(renderImageControlChanItem{
|
||||||
Option: 2,
|
option: 2,
|
||||||
TaskId: taskId,
|
taskId: taskId,
|
||||||
TaskProperty: renderTask{
|
taskProperty: renderTask{
|
||||||
CombineTakesTime: res.DiffTimeLogoCombine,
|
combineTakesTime: res.DiffTimeLogoCombine,
|
||||||
UploadCombineImageTakesTime: res.DiffTimeUploadFile,
|
uploadCombineImageTakesTime: res.DiffTimeUploadFile,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
logx.Info("合成刀版图成功,合成刀版图数据:", combineReq, ",logo图片:", info.RenderData.Logo, " 刀版图:", *res.ResourceUrl)
|
logx.Info("合成刀版图成功,合成刀版图数据:", combineReq, ",logo图片:", info.RenderData.Logo, " 刀版图:", *res.ResourceUrl)
|
||||||
|
@ -349,10 +349,10 @@ func (w *wsConnectItem) assembleRenderData(taskId string, info websocket_data.Re
|
||||||
}
|
}
|
||||||
//记录发送到unity时间
|
//记录发送到unity时间
|
||||||
w.modifyRenderTaskTimeConsuming(renderImageControlChanItem{
|
w.modifyRenderTaskTimeConsuming(renderImageControlChanItem{
|
||||||
Option: 2,
|
option: 2,
|
||||||
TaskId: taskId,
|
taskId: taskId,
|
||||||
TaskProperty: renderTask{
|
taskProperty: renderTask{
|
||||||
UnityRenderBeginTime: unityRenderBeginTime,
|
unityRenderBeginTime: unityRenderBeginTime,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
logx.Info("发送到unity成功,刀版图:", combineImage, " 请求unity的数据:", string(postDataBytes))
|
logx.Info("发送到unity成功,刀版图:", combineImage, " 请求unity的数据:", string(postDataBytes))
|
||||||
|
@ -362,7 +362,7 @@ func (w *wsConnectItem) assembleRenderData(taskId string, info websocket_data.Re
|
||||||
// 增加渲染任务
|
// 增加渲染任务
|
||||||
func (w *wsConnectItem) createRenderTask(data renderImageControlChanItem) {
|
func (w *wsConnectItem) createRenderTask(data renderImageControlChanItem) {
|
||||||
//强制设为增加
|
//强制设为增加
|
||||||
data.Option = 1
|
data.option = 1
|
||||||
select {
|
select {
|
||||||
case <-w.closeChan: //关闭
|
case <-w.closeChan: //关闭
|
||||||
return
|
return
|
||||||
|
@ -376,7 +376,7 @@ func (w *wsConnectItem) createRenderTask(data renderImageControlChanItem) {
|
||||||
// 渲染回调处理并删除渲染任务
|
// 渲染回调处理并删除渲染任务
|
||||||
func (w *wsConnectItem) deleteRenderTask(data renderImageControlChanItem) {
|
func (w *wsConnectItem) deleteRenderTask(data renderImageControlChanItem) {
|
||||||
//强制设为删除
|
//强制设为删除
|
||||||
data.Option = 0
|
data.option = 0
|
||||||
select {
|
select {
|
||||||
case <-w.closeChan: //关闭
|
case <-w.closeChan: //关闭
|
||||||
return
|
return
|
||||||
|
@ -389,12 +389,12 @@ func (w *wsConnectItem) deleteRenderTask(data renderImageControlChanItem) {
|
||||||
|
|
||||||
// 修改耗时属性(只有耗时属性可以更新)
|
// 修改耗时属性(只有耗时属性可以更新)
|
||||||
func (w *wsConnectItem) modifyRenderTaskTimeConsuming(data renderImageControlChanItem) {
|
func (w *wsConnectItem) modifyRenderTaskTimeConsuming(data renderImageControlChanItem) {
|
||||||
if data.TaskId == "" {
|
if data.taskId == "" {
|
||||||
logx.Error("设置耗时属性需要的task_id不能为空")
|
logx.Error("设置耗时属性需要的task_id不能为空")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//强制设为修改耗时属性
|
//强制设为修改耗时属性
|
||||||
data.Option = 2
|
data.option = 2
|
||||||
select {
|
select {
|
||||||
case <-w.closeChan: //关闭
|
case <-w.closeChan: //关闭
|
||||||
return
|
return
|
||||||
|
@ -417,34 +417,34 @@ func (w *wsConnectItem) operationRenderTask() {
|
||||||
case <-w.closeChan:
|
case <-w.closeChan:
|
||||||
return
|
return
|
||||||
case data := <-w.extendRenderProperty.renderImageTaskCtlChan:
|
case data := <-w.extendRenderProperty.renderImageTaskCtlChan:
|
||||||
switch data.Option {
|
switch data.option {
|
||||||
case 0: //渲染结果回调,删除任务
|
case 0: //渲染结果回调,删除任务
|
||||||
//存在任务,则发送渲染结果给前端
|
//存在任务,则发送渲染结果给前端
|
||||||
if taskData, ok := w.extendRenderProperty.renderImageTask[data.TaskId]; ok {
|
if taskData, ok := w.extendRenderProperty.renderImageTask[data.taskId]; ok {
|
||||||
CombineTakesTime := "0ms"
|
CombineTakesTime := "0ms"
|
||||||
UnityRenderTakesTime := "0ms"
|
UnityRenderTakesTime := "0ms"
|
||||||
uploadCombineImageTakesTime := "0ms"
|
uploadCombineImageTakesTime := "0ms"
|
||||||
uploadUnityRenderImageTakesTime := "0ms"
|
uploadUnityRenderImageTakesTime := "0ms"
|
||||||
//合图时间
|
//合图时间
|
||||||
if taskData.CombineTakesTime > 0 {
|
if taskData.combineTakesTime > 0 {
|
||||||
CombineTakesTime = fmt.Sprintf("%dms", taskData.CombineTakesTime)
|
CombineTakesTime = fmt.Sprintf("%dms", taskData.combineTakesTime)
|
||||||
}
|
}
|
||||||
//上传刀版图时间
|
//上传刀版图时间
|
||||||
if taskData.UploadCombineImageTakesTime > 0 {
|
if taskData.uploadCombineImageTakesTime > 0 {
|
||||||
uploadCombineImageTakesTime = fmt.Sprintf("%dms", taskData.UploadCombineImageTakesTime)
|
uploadCombineImageTakesTime = fmt.Sprintf("%dms", taskData.uploadCombineImageTakesTime)
|
||||||
}
|
}
|
||||||
//unity渲染时间
|
//unity渲染时间
|
||||||
if taskData.UnityRenderBeginTime > 0 && taskData.UnityRenderEndTime > 0 {
|
if taskData.unityRenderBeginTime > 0 && taskData.unityRenderEndTime > 0 {
|
||||||
UnityRenderTakesTime = fmt.Sprintf("%dms", taskData.UnityRenderEndTime-taskData.UnityRenderBeginTime)
|
UnityRenderTakesTime = fmt.Sprintf("%dms", taskData.unityRenderEndTime-taskData.unityRenderBeginTime)
|
||||||
}
|
}
|
||||||
//上传unity渲染图耗时
|
//上传unity渲染图耗时
|
||||||
if taskData.UploadUnityRenderImageTakesTime > 0 {
|
if taskData.uploadUnityRenderImageTakesTime > 0 {
|
||||||
uploadUnityRenderImageTakesTime = fmt.Sprintf("%dms", taskData.UploadUnityRenderImageTakesTime)
|
uploadUnityRenderImageTakesTime = fmt.Sprintf("%dms", taskData.uploadUnityRenderImageTakesTime)
|
||||||
}
|
}
|
||||||
//发送到出口
|
//发送到出口
|
||||||
w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_RENDER_IMAGE, websocket_data.RenderImageRspMsg{
|
w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_RENDER_IMAGE, websocket_data.RenderImageRspMsg{
|
||||||
RenderId: taskData.RenderId,
|
RenderId: taskData.renderId,
|
||||||
Image: data.RenderNotifyImageUrl,
|
Image: data.renderNotifyImageUrl,
|
||||||
RenderProcessTime: websocket_data.RenderProcessTime{
|
RenderProcessTime: websocket_data.RenderProcessTime{
|
||||||
CombineTakesTime: CombineTakesTime,
|
CombineTakesTime: CombineTakesTime,
|
||||||
UnityRenderTakesTime: UnityRenderTakesTime,
|
UnityRenderTakesTime: UnityRenderTakesTime,
|
||||||
|
@ -454,32 +454,32 @@ func (w *wsConnectItem) operationRenderTask() {
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
//删除任务
|
//删除任务
|
||||||
delete(w.extendRenderProperty.renderImageTask, data.TaskId)
|
delete(w.extendRenderProperty.renderImageTask, data.taskId)
|
||||||
case 1: //新增任务
|
case 1: //新增任务
|
||||||
w.extendRenderProperty.renderImageTask[data.TaskId] = &renderTask{
|
w.extendRenderProperty.renderImageTask[data.taskId] = &renderTask{
|
||||||
RenderId: data.RenderId,
|
renderId: data.renderId,
|
||||||
}
|
}
|
||||||
case 2: //修改(耗时)属性
|
case 2: //修改(耗时)属性
|
||||||
if taskData, ok := w.extendRenderProperty.renderImageTask[data.TaskId]; ok {
|
if taskData, ok := w.extendRenderProperty.renderImageTask[data.taskId]; ok {
|
||||||
//合图耗时
|
//合图耗时
|
||||||
if data.TaskProperty.CombineTakesTime != 0 {
|
if data.taskProperty.combineTakesTime != 0 {
|
||||||
taskData.CombineTakesTime = data.TaskProperty.CombineTakesTime
|
taskData.combineTakesTime = data.taskProperty.combineTakesTime
|
||||||
}
|
}
|
||||||
//上传合图耗时
|
//上传合图耗时
|
||||||
if data.TaskProperty.UploadCombineImageTakesTime != 0 {
|
if data.taskProperty.uploadCombineImageTakesTime != 0 {
|
||||||
taskData.UploadCombineImageTakesTime = data.TaskProperty.UploadCombineImageTakesTime
|
taskData.uploadCombineImageTakesTime = data.taskProperty.uploadCombineImageTakesTime
|
||||||
}
|
}
|
||||||
//上传渲染结果图耗时
|
//上传渲染结果图耗时
|
||||||
if data.TaskProperty.UploadUnityRenderImageTakesTime != 0 {
|
if data.taskProperty.uploadUnityRenderImageTakesTime != 0 {
|
||||||
taskData.UploadUnityRenderImageTakesTime = data.TaskProperty.UploadUnityRenderImageTakesTime
|
taskData.uploadUnityRenderImageTakesTime = data.taskProperty.uploadUnityRenderImageTakesTime
|
||||||
}
|
}
|
||||||
//发送unity时间
|
//发送unity时间
|
||||||
if data.TaskProperty.UnityRenderBeginTime != 0 {
|
if data.taskProperty.unityRenderBeginTime != 0 {
|
||||||
taskData.UnityRenderBeginTime = data.TaskProperty.UnityRenderBeginTime
|
taskData.unityRenderBeginTime = data.taskProperty.unityRenderBeginTime
|
||||||
}
|
}
|
||||||
//收到unity返回的时间
|
//收到unity返回的时间
|
||||||
if data.TaskProperty.UnityRenderEndTime != 0 {
|
if data.taskProperty.unityRenderEndTime != 0 {
|
||||||
taskData.UnityRenderEndTime = data.TaskProperty.UnityRenderEndTime
|
taskData.unityRenderEndTime = data.taskProperty.unityRenderEndTime
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user