(44.192.112.123) 您好!臺灣時間:2021/02/28 06:17
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:徐宗良
研究生(外文):Tsung-Liang Hsu
論文名稱:遊戲剖析器:一個植入於遊戲程式中的效能評測模組
論文名稱(外文):Game Profiler: An Implanted Game Profiling Module
指導教授:郭文彥郭文彥引用關係
指導教授(外文):Wen-Yen Kuo
學位類別:碩士
校院名稱:輔仁大學
系所名稱:資訊工程學系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2006
畢業學年度:94
語文別:中文
論文頁數:51
中文關鍵詞:效能評測效能調校儀測工具演算法測量法程式追蹤程式除錯
外文關鍵詞:performance profilingperformance turninginstrumentationalgorithmmeasurementprogram tracingprogram debugging
相關次數:
  • 被引用被引用:0
  • 點閱點閱:147
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:25
  • 收藏至我的研究室書目清單書目收藏:0
在大多數的電腦遊戲開發過程中,一個主要的目標在於使程式碼的效率能達到理想的效果,想要實現此目標,最為關鍵的部分便是找出程式的瓶頸以便進行程式碼最佳化的動作。本文將介紹一個植入於遊戲程式中的即時效能評測模組,我們稱之為遊戲剖析器。測試人員可以透過此模組,快速且有效的找出程式中每一個主要的瓶頸所在,以利程式開發人員進行效能調校。
遊戲剖析器主要是透過一個儀測工具來明確的測量程式碼區塊所執行的時間,以幫助找出效能問題。其主要優點在於協助使用者方便且快速的完成遊戲評測,不僅測試人員有能力完成此動作,開發團隊中的其它成員,包含程式設計師、企劃、美術等等,都能輕易完成相關的動作。透過結構定義介面,使用者可以在評測的過程中將專注力鎖定於某個引擎上,而不需擔心被其它模組的評測資料所影響。另外,程式設計師在遊戲開發的過程中,也能隨時使用此模組來協助程式的追蹤與除錯。
在實作上,我們直接將遊戲剖析器所需要的程式碼植入原本的遊戲程式中。由於這個動作將會增加遊戲程式的成本,若負載過大可能會改變原遊戲程式的行為,導致評測的結果有所誤差,因此我們必須將遊戲剖析器所帶來的額外負載控制在一定的程度之內。透過本文所提供的計數演算法以及結構定義介面將可有效的控制計數器使用量,以避免產生過大的負擔而影響評測資料的準確性。經由實驗結果顯示,植入遊戲剖析器的程式,在執行過程中的CPU平均使用量與未植入遊戲剖析器的程式相比,僅高出2~3%。另外在評測資料的誤差測試中,誤差的幅度不會超過1%。
In the majority of most game development processes, one of the main objectives is to utilize and maximize the efficiency of the program code. To achieve this, one of the key factors would be locating the bottleneck of the program code to help optimize it. This paper introduces a real-time profiling module which is implanted into the game program. Game development staff through this module can find and identify efficiently the bottlenecks of the given code to help the developer fine tune and optimize their program.
The game profiler uses an instrumentation method to accurately measure and calculate the execution time and frequency of a particular program block to help single out performance issues. The primary advantages of doing so, is that it assists the user in assessing game performance in the shortest and most efficient manner. Not only will the tester have the ability to do this, other members of the development team i.e. programmers, designers and artists will also be able to perform relevant tests. Through structural semantics interface, the user can focus on a specific engine during the process of profiling and not be concerned that the result data will be affected by other running modules that are also running. Through the structural semantics interface, the user through the profiling process can focus on a specific engine, thus prevent unnecessary data results from affecting the users judgement. Furthermore, the programmer during the process of game development can also use this module anytime to assist in the debugging and program tracing.
In practice, we directly implant the profiling code into the original game program. The addition of the profiling code will definitely incur an overhead, if this overhead is too much and not limited, it will change the behavior of the original program. Thus if the behavior is changed, the profiling results will be different. Hence we must be able to limit the amount of overhead within a certain range. From the algorithms and the structural semantics interface detailed from this paper, we can effectively limit the use of program counters, thus reducing the overhead produced. Because of this we can ensure the accuracy of our profiling data to not be affected by excess overhead. Experimental results show the CPU usage of implanted code is only 2 to 3 % higher than code that hasn’t been modified. Also in our profiling discrepancy tests, the margin of discrepancy will not exceed 1%.
第一章 緒論 1
1.1遊戲剖析器簡介 3
1.2研究動機與目的 5
第二章 相關研究 8
2.1程式效能評測 8
2.2軟體測試 11
第三章 遊戲剖析器之設計與方法 17
3.1系統架構與方法概述 17
3.2關連分析器 21
3.3結構定義介面 23
3.4程式碼添加器 26
3.5即時分析器與離線分析器 32
3.6實作方法 36
第四章 效能評測實驗與效能分析 39
4.1效能評測實驗 39
4.2效能分析 44
第五章 結論與未來研究方向 46
5.1結論 46
5.2未來研究方向 47
參考文獻 49
[1] NPD Group, http://www.npd.com
[2] E. Duesterwald and V. Bala. Software Profiling for Hot Path Prediction: Less is More. In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 202–211, Cambridge, MA, November 2000.
[3] T. Reps, T. Ball, M. Das, and J. Rs Larus. The Use of Program Profiling for Software Maintenance with Applications to the Year 2000 Problem. ACM SIGSOFT Software Engineering Notes, 22(6):432–449, November 1997.
[4] M. J. Harrold, G. Rothermel, K. Sayre, R. Wu, and L. Yi. An Empirical Investigation of the Relationship Between Spectra Differences and Regression Faults. Journal of Software Testing, Verification, and Reliability, 10(3), September 2000.
[5] R. J. Hall. Call Path Refinement Profiles. IEEE Transactions on Software Engineering, 21(21):481–496, June 1995.
[6] Intel.com, http://www.intel.com/cd/software/products/asmo-na/eng/vtune/index.htm
[7] Valgrind.org, http://valgrind.org/
[8] D. E. Knuth. An Empirical Study of FORTRAN Programs. Software, Practice & Experience, 1:105-133, 1971.
[9] T. Ball and J. Rs Larus. Optimally Profiling and Tracing Programs. ACM Transactions on Programming Languages and Systems, 16(4):1319-1360, July 1994.
[10] T. Ball and J. Rs Larus. Efficient Path Profiling. In Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture, pages 46-57, Paris, France, December 1996.
[11] A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.
[12] SunPro. Performance Tuning and Application. Sun Microsystems, 1992.
[13] J. Whaley. A Portable Sampling-Based Profiler for Java Virtual Machines. In ACM 2000 Java Grande Conference, pages 78-87, June 2000.
[14] B. Calder, P. Feller, A. Eustace. Value Profiling. In Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, pages 259 – 269, December 1997.
[15] A. Orso, T. Apiwattanapong, M. J. Harrold. Leveraging Field Data for Impact Analysis and Regression Testing. In Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, pages 128-137, September 2003.
[16] M. Arnold and B. Ryder. A Framework for Reducing the Cost of Instrumented Code. In ACM SIGPLAN Conference on PLDI, pages 168-179, June 2001.
[17] M. Arnold, M. Hind, B. G. Ryder. An Empirical Study of Selective Optimization. In 13th International Workshop on Languages and Compilers for Parallel Computing, pages 49-67, August 2000.
[18] S. Elbaum, Member, IEEE and M. Diep. Profiling Deployed Software: Assessing Strategies and Testing Opportunities. IEEE Transactions on Software Engineering, 31(4):312-327, April 2005.
[19] R. E. Tarjan. Data Structures and Network Algorithms. SIAM, Philadelphia, Pa. 1983.
[20] E.B. Duffy, J.P Gibson, B.A. Malloy. Applying the Decorator Pattern for Profiling Object-Oriented Software. 2003. 11th IEEE International Workshop on Program Comprehension, pages 84-93, May 2003.
[21] M. Hiller, A. Jhumka, N. Suri. EPIC: Profiling the Propagation and Effect of Data Errors in Software. IEEE Transactions on Computers, 53(5):512-530, May 2004.
[22] J. F. Bowring, J. M. Rehg, M. J. Harrold. Active Learning for Automatic Classification of Software Behavior. In Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, pages 195-205, July 2004.
[23] S. P. Ng, M. Murnane, K. Reed, D. Grant, T. Y. Chen. A Preliminary Survey on Software Testing Practices in Australia. Software Engineering Conference, 2004. Proceedings, pages 116–125.

[24] F.T. Chan, T. H. Tse, W. H. Tang, T. Y. Chen. Software Testing Education and Training in Hong Kong. Fifth International Conference on Quality Software, 2005. (QSIC 2005), pages 313-316, September 2005.
[25] Cube.com, http://www.cubeengine.com/
[26] A. Rollings, D. Morris. Game Architecture and Design. Coriolis Group, November 1999.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
1. 朱美珍(1998)。軍校學生人際關係與生活適應之研究—以政戰學校為例。復興崗學報, 63(6), 149—165。
2. 朱美珍(1998)。軍校學生人際關係與生活適應之研究—以政戰學校為例。復興崗學報, 63(6), 149—165。
3. 王沂釗(1995)。家庭結構、家庭關係與青少年生活適應之分析研究。學生輔導通訊,36期,108-118頁。
4. 王沂釗(1995)。家庭結構、家庭關係與青少年生活適應之分析研究。學生輔導通訊,36期,108-118頁。
5. 李明珠(1955)。父母教養態度對其子女的影響。國教月刊,34卷9.10期,4-8頁。
6. 李明珠(1955)。父母教養態度對其子女的影響。國教月刊,34卷9.10期,4-8頁。
7. 林惠雅(1995)。父母教養方式和子女行為之探討。社區發展季刊,72期,41-47頁。
8. 林惠雅(1995)。父母教養方式和子女行為之探討。社區發展季刊,72期,41-47頁。
9. 陳小娥、蘇建文(1977)。父母教養行為與少年生活適應。教育心理學報,10期,91-106頁。
10. 陳小娥、蘇建文(1977)。父母教養行為與少年生活適應。教育心理學報,10期,91-106頁。
11. 陳貴龍(1987)。國民小學學生生活適應之比較研究。輔導學報,10期,121-141頁。
12. 陳貴龍(1987)。國民小學學生生活適應之比較研究。輔導學報,10期,121-141頁。
13. 陳韻如(1993)。父母管教態度與國小兒童人際關係發展之研究。現代教育,8期,142-151頁。
14. 陳韻如(1993)。父母管教態度與國小兒童人際關係發展之研究。現代教育,8期,142-151頁。
15. 黃春枝(1986)。青少年親子關係適應與父母管教態度之研究。教育與心理研究,9期,83-96頁。
 
系統版面圖檔 系統版面圖檔