86 lines
4.1 KiB
JavaScript
86 lines
4.1 KiB
JavaScript
mergeInto(LibraryManager.library, {
|
|
|
|
JSInitProfiler: function(savePathPtr, metaInfoPtr) {
|
|
const savePath = UTF8ToString(savePathPtr);
|
|
// const uploadUrl = UTF8ToString(uploadUrlPtr);
|
|
const metaInfo = UTF8ToString(metaInfoPtr);
|
|
//if (GameGlobal && GameGlobal.manager && GameGlobal.manager.initProfiler) {
|
|
const uploadUrl = GameGlobal.managerConfig.PROFILER_UPLOAD_URL;
|
|
GameGlobal.manager.initProfiler({'savePath': savePath, 'uploadUrl': uploadUrl, 'meta': metaInfo, 'cb': _JSInitProfilerCallback, 'errorCb': _JSProfilerErrorCallback});
|
|
//}
|
|
},
|
|
JSStartProfiler: function() {
|
|
//const savePath = UTF8ToString(savePathPtr);
|
|
//const uploadUrl = UTF8ToString(uploadUrlPtr);
|
|
//const metaInfo = UTF8ToString(metaInfoPtr);
|
|
//if (GameGlobal && GameGlobal.manager && GameGlobal.manager.profiler) {
|
|
GameGlobal.manager.profiler.startProfile();
|
|
//}
|
|
},
|
|
StartJSProfilerRecord: function(frameId, interval, savePathPtr) {
|
|
const savePath = UTF8ToString(savePathPtr);
|
|
if (GameGlobal && GameGlobal.unityNamespace && GameGlobal.unityNamespace.ProfileWebgl && GameGlobal.unityNamespace.ProfileWebgl.startRecord) {
|
|
GameGlobal.unityNamespace.ProfileWebgl.startRecord(frameId, interval, savePath);
|
|
}
|
|
},
|
|
StopJSProfilerRecord: function() {
|
|
if (GameGlobal && GameGlobal.unityNamespace && GameGlobal.unityNamespace.ProfileWebgl && GameGlobal.unityNamespace.ProfileWebgl.stopRecord) {
|
|
GameGlobal.unityNamespace.ProfileWebgl.stopRecord();
|
|
}
|
|
},
|
|
JSProfilerUploadString: function(dataPtr, bufSize, namePtr, dirPtr, id, inStartFrameIdx, inEndFrameIdx) {
|
|
//if (GameGlobal && GameGlobal.manager && GameGlobal.manager.profiler) {
|
|
const name = UTF8ToString(namePtr);
|
|
const dir = UTF8ToString(dirPtr);
|
|
const content = UTF8ToString(dataPtr);
|
|
GameGlobal.manager.profiler.uploadString({'str': content, 'len': bufSize, 'fileName': name, 'uploadDir': dir, 'id': id, 'cb': _JSPerfUploadStringCallback, 'startFrameIdx': inStartFrameIdx, 'endFrameIdx': inEndFrameIdx});
|
|
//}
|
|
},
|
|
JSProfilerUploadAnnotation: function(inAnnotationDataPtr, inFrameIdx) {
|
|
const annotationData = UTF8ToString(inAnnotationDataPtr);
|
|
GameGlobal.manager.profiler.uploadAnnotation({'annotationData': annotationData, 'annotationFrameIDX': inFrameIdx});
|
|
},
|
|
JSGetMetaDataInfo: function() {
|
|
var convertPluginVersion = GameGlobal.unityNamespace.convertPluginVersion;
|
|
var unityHeapReservedMemory = GameGlobal.unityNamespace.unityHeapReservedMemory;
|
|
var contextType = GameGlobal.managerConfig.contextConfig.contextType;
|
|
var webglVersion;
|
|
|
|
switch (contextType) {
|
|
case 1:
|
|
webglVersion = "webgl1";
|
|
break;
|
|
case 2:
|
|
webglVersion = "webgl2";
|
|
break;
|
|
case 3:
|
|
webglVersion = "auto";
|
|
break;
|
|
default:
|
|
webglVersion = "unknown";
|
|
}
|
|
|
|
var metaDataString = "convertPluginVersion="
|
|
+ convertPluginVersion + "\nwebglVersion=" + webglVersion +
|
|
"\nunityHeapReservedMemory=" + unityHeapReservedMemory + "\ndpr=" +
|
|
window.devicePixelRatio + "\n";
|
|
var lengthBytes = lengthBytesUTF8(metaDataString) + 1;
|
|
var stringOnWasmHeap = _malloc(lengthBytes);
|
|
stringToUTF8(metaDataString, stringOnWasmHeap, lengthBytes);
|
|
|
|
return stringOnWasmHeap;
|
|
},
|
|
|
|
JSFreeIntPtr: function(ptr) {
|
|
_free(ptr);
|
|
},
|
|
JSProfilerUploadStringWithDir: function(dataPtr, bufSize, namePtr, dirPtr) {
|
|
//if (GameGlobal && GameGlobal.manager && GameGlobal.manager.profiler) {
|
|
const name = UTF8ToString(namePtr);
|
|
const dir = UTF8ToString(dirPtr);
|
|
const content = UTF8ToString(dataPtr);
|
|
GameGlobal.manager.profiler.uploadStringWithDir({'str': content, 'len': bufSize, 'fileName': name, 'uploadDir': dir, 'cb': _JSProfilerUploadStringWithDirCallback});
|
|
//}
|
|
}
|
|
});
|