1.一種屏幕刷新率的確定方法,其特征在于,所述方法包括:
采用注入的方式將動態(tài)鏈接庫加入圖層投遞進程,所述圖層投遞進程為系統(tǒng)進程,所述圖層投遞進程通過調(diào)用第一圖像渲染函數(shù)完成屏幕刷新操作;
通過所述圖層投遞進程調(diào)用所述動態(tài)鏈接庫,以便通過鉤掛方法將所述第一圖像渲染函數(shù)替換為第二圖像渲染函數(shù);
在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述第二圖像渲染函數(shù),以便通過所述第二圖像渲染函數(shù)統(tǒng)計屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率。
2.如權(quán)利要求1所述的方法,其特征在于,所述在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述第二圖像渲染函數(shù),以便通過所述第二圖像渲染函數(shù)統(tǒng)計屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率,包括:
在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述第二圖像渲染函數(shù),通過所述第二圖像渲染函數(shù)調(diào)用所述第一圖像渲染函數(shù)完成屏幕刷新操作,并通過變量累加屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述采用注入的方式將動態(tài)鏈接庫加入圖層投遞進程,包括:
找到圖層投遞進程的進程文件目錄地址;
根據(jù)所述目錄地址,利用系統(tǒng)調(diào)用函數(shù)控制圖層投遞進程;
獲取所述圖層投遞進程中庫加載函數(shù)、地址查找函數(shù)和庫移除函數(shù)的函數(shù)地址,所述庫加載函數(shù)用于將所述動態(tài)鏈接庫加載到所述圖層投遞進程的內(nèi)存中,所述地址查找函數(shù)用于查找所述動態(tài)鏈接庫中的指定函數(shù)在所述內(nèi)存中的地址,所述庫移除函數(shù)用于在滿足預(yù)設(shè)條件時將所述動態(tài)鏈接庫從所述圖層投遞進程的內(nèi)存中移除;
根據(jù)所述函數(shù)地址,調(diào)用所述庫加載函數(shù)、所述地址查找函數(shù)和所述庫移除函數(shù)將所述動態(tài)鏈接庫加入所述圖層投遞進程。
4.如權(quán)利要求1或2所述的方法,其特征在于,所述通過所述圖層投遞進程調(diào)用所述動態(tài)鏈接庫,以便通過鉤掛方法將所述第一圖像渲染函數(shù)替換為第二圖像渲染函數(shù),包括:
通過所述圖層投遞進程調(diào)用所述動態(tài)鏈接庫,記錄所述第一圖像渲染函數(shù)的函數(shù)地址;
獲取所述第一圖像渲染函數(shù)的函數(shù)地址在全局偏移表GOT中的位置信息;
根據(jù)所述位置信息,用所述第二圖像渲染函數(shù)的函數(shù)地址覆蓋GOT中的所述第一圖像渲染函數(shù)的函數(shù)地址,以便在屏幕刷新重畫時調(diào)用所述第二圖像渲染函數(shù)而非所述第一圖像渲染函數(shù)。
5.如權(quán)利要求1所述的方法,其特征在于,所述通過所述圖層投遞進程調(diào)用所述動態(tài)鏈接庫,以便通過鉤掛方法將所述第一圖像渲染函數(shù)替換為第二圖像渲染函數(shù),包括:
通過所述圖層投遞進程調(diào)用所述動態(tài)鏈接庫,以便創(chuàng)建共享內(nèi)存,并通過鉤掛方法將所述第一圖像渲染函數(shù)替換為第二圖像渲染函數(shù);
所述在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述第二圖像渲染函數(shù),以便通過所述第二圖像渲染函數(shù)統(tǒng)計屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率,包括:
在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述第二圖像渲染函數(shù),以便通過所述第二圖像渲染函數(shù)統(tǒng)計屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率,并將所述屏幕刷新率寫入所述共享內(nèi)存。
6.一種屏幕刷新率的確定裝置,其特征在于,所述裝置包括:
注入單元,用于采用注入的方式將動態(tài)鏈接庫加入圖層投遞進程,所述圖層投遞進程為系統(tǒng)進程,所述圖層投遞進程通過調(diào)用第一圖像渲染函數(shù)完成屏幕刷新操作;
鉤掛單元,用于通過所述圖層投遞進程調(diào)用所述注入單元注入的動態(tài)鏈接庫,以便通過鉤掛方法將所述第一圖像渲染函數(shù)替換為第二圖像渲染函數(shù);
確定單元,用于在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述鉤掛單元替換后的所述第二圖像渲染函數(shù),以便通過所述第二圖像渲染函數(shù)統(tǒng)計屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率。
7.如權(quán)利要求6所述的裝置,其特征在于,所述確定單元包括:
屏幕刷新子單元,用于在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述第二圖像渲染函數(shù),通過所述第二圖像渲染函數(shù)調(diào)用所述第一圖像渲染函數(shù)完成屏幕刷新操作;
確定子單元,用于通過變量累加屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率。
8.如權(quán)利要求6或7所述的裝置,其特征在于,所述注入單元包括:
查找子單元,用于找到圖層投遞進程的進程文件目錄地址;
控制子單元,用于根據(jù)所述查找子單元找到的目錄地址,利用系統(tǒng)調(diào)用函數(shù)控制圖層投遞進程;
地址獲取子單元,用于獲取所述圖層投遞進程中庫加載函數(shù)、地址查找函數(shù)和庫移除函數(shù)的函數(shù)地址,所述庫加載函數(shù)用于將所述動態(tài)鏈接庫加載到所述圖層投遞進程的內(nèi)存中,所述地址查找函數(shù)用于查找所述動態(tài)鏈接庫中的指定函數(shù)在所述內(nèi)存中的地址,所述庫移除函數(shù)用于在滿足預(yù)設(shè)條件時將所述動態(tài)鏈接庫從所述圖層投遞進程的內(nèi)存中移除;
注入子單元,用于根據(jù)所述地址獲取子單元獲取的函數(shù)地址,調(diào)用所述庫加載函數(shù)、所述地址查找函數(shù)和所述庫移除函數(shù)將所述動態(tài)鏈接庫加入所述圖層投遞進程。
9.如權(quán)利要求6或7所述的裝置,其特征在于,所述鉤掛單元包括:
記錄子單元,用于通過所述圖層投遞進程調(diào)用所述動態(tài)鏈接庫,記錄所述第一圖像渲染函數(shù)的函數(shù)地址;
位置獲取子單元,用于獲取所述第一圖像渲染函數(shù)的函數(shù)地址在全局偏移表GOT中的位置信息;
覆蓋子單元,用于根據(jù)所述位置獲取子單元獲取的位置信息,用所述第二圖像渲染函數(shù)的函數(shù)地址覆蓋GOT中的所述第一圖像渲染函數(shù)的函數(shù)地址,以便在屏幕刷新重畫時調(diào)用所述第二圖像渲染函數(shù)而非所述第一圖像渲染函數(shù)。
10.如權(quán)利要求6所述的裝置,其特征在于,所述鉤掛單元包括:
創(chuàng)建子單元,用于通過所述圖層投遞進程調(diào)用所述動態(tài)鏈接庫,以便創(chuàng)建共享內(nèi)存;
替換子單元,用于通過鉤掛方法將所述第一圖像渲染函數(shù)替換為第二圖像渲染函數(shù);
所述確定單元包括:
確定子單元,用于在屏幕刷新重畫時,通過所述圖層投遞進程調(diào)用所述第二圖像渲染函數(shù),以便通過所述第二圖像渲染函數(shù)統(tǒng)計屏幕刷新次數(shù),根據(jù)所述屏幕刷新次數(shù)確定屏幕刷新率;
寫入子單元,用于將所述確定子單元確定的屏幕刷新率寫入所述創(chuàng)建子單元創(chuàng)建的共享內(nèi)存。