日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android添加时间,添加加载时间记录函数

發(fā)布時間:2023/12/13 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android添加时间,添加加载时间记录函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

記錄游戲執(zhí)行加載的時間非常重要,原因有兩個:

避免在加載時污染幀時間數(shù)據(jù)。

分析加載時間,看看加載時間何時何地超過可接受的范圍。

加載事件可以具有關(guān)聯(lián)的元數(shù)據(jù):

typedef struct TuningFork_LoadingTimeMetadata {

enum LoadingState {

UNKNOWN_STATE = 0,

// The first time the game is run

FIRST_RUN = 1,

// App is not backgrounded

COLD_START = 2,

// App is backgrounded

WARM_START = 3,

// App is backgrounded, least work needed

HOT_START = 4,

// Asset loading between levels

INTER_LEVEL = 5

} state;

enum LoadingSource {

UNKNOWN_SOURCE = 0,

// Uncompressing data.

MEMORY = 1,

// Reading assets from APK bundle.

APK = 2,

// Reading assets from device storage.

DEVICE_STORAGE = 3,

// Reading assets from external storage, e.g. SD card.

EXTERNAL_STORAGE = 4,

// Loading assets from the network.

NETWORK = 5,

// Shader compilation.

SHADER_COMPILATION = 6,

// Time spent between process starting and onCreate.

PRE_ACTIVITY = 7,

// Total time spent between process starting and first render frame.

FIRST_TOUCH_TO_FIRST_FRAME = 8

} source;

int32_t compression_level; // 0 = no compression, 100 = max compression

enum NetworkConnectivity {

UNKNOWN = 0,

WIFI = 1,

CELLULAR_NETWORK = 2

} network_connectivity;

uint64_t network_transfer_speed_bps; // bandwidth in bits per second

uint64_t network_latency_ns; // latency in nanoseconds

} TuningFork_LoadingTimeMetadata;

任何與您的需求無關(guān)的字段都可以為零。

加載事件還可以具有關(guān)聯(lián)的注釋。它的定義方式與幀時間注釋相同,那就是使用 dev_tuningfork.proto 文件的 Annotation 消息中的一個或多個字段。

此函數(shù)開始記錄與給定的元數(shù)據(jù)和注釋關(guān)聯(lián)的加載時間事件,并填充要在 TuningFork_stopRecordingLoadingTime() 函數(shù)中使用的 handle。

此函數(shù)停止記錄之前由 TuningFork_startRecordingLoadingTime() 開始的事件。該事件會在下次會話刷新時上傳。

我們強烈建議直接使用前面所述的開始和停止函數(shù)。不過,如果您無法執(zhí)行此操作,則可以調(diào)用此函數(shù)來記錄持續(xù)時間及其關(guān)聯(lián)的元數(shù)據(jù)和注釋。

加載組函數(shù)

在您的游戲中,您可以為用戶看到的一個加載期間記錄多個加載事件。一些示例包括(但不限于)文件加載、解壓縮和著色器編譯。

務(wù)必告知 Tuning Fork,加載事件是此類組的一部分,以便它可以提供更好的數(shù)據(jù)分析。為此,請將加載事件與以下開始和停止函數(shù)括在一起。

注意:一次只能有一個加載組處于活動狀態(tài)。

此函數(shù)開始與給定的元數(shù)據(jù)和注釋關(guān)聯(lián)的加載組,并填充要在 TuningFork_stopLoadingGroup() 函數(shù)中使用的 handle。Play 后端當前不使用元數(shù)據(jù)和注釋,您可以將其設(shè)置為 nullptr。所有后續(xù)加載事件都將由唯一的組 ID 來標記。

此函數(shù)停止之前由 TuningFork_startLoadingGroup() 開始的加載組。后續(xù)加載事件將沒有組 ID,直到再次調(diào)用 TuningFork_startLoadingGroup()。

總結(jié)

以上是生活随笔為你收集整理的android添加时间,添加加载时间记录函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。