Evaluating the performance of object-oriented and data-oriented design with multi-threading in game development

被引:0
|
作者
Wingqvist, David [1 ]
Wickstrom, Filip [1 ]
Memeti, Suejb [1 ]
机构
[1] Blekinge Inst Technol BTH, Dept Comp Sci DIDA, Karlskrona, Sweden
关键词
data-oriented design; object-oriented design; multi-threading; game development;
D O I
10.1109/GEM56474.2022.10017610
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The frame rate of a game is important for both the end-user and the developer, and for a game to be considered playable, the minimum requirement of 60 FPS should be maintained. With respect to the programming design pattern, the current industry standard is to use Object-Oriented Design (OOD). While the demand for efficient game applications is increasing, applications developed using OOD are struggling to efficiently utilize the available computing resources and consequently meet the minimum frame-rate requirements. A design pattern that may be able to cope with the current and future requirements of resource-intensive game applications is the Data-Oriented Design (DOD), which focuses on the efficient CPU memory utilization. The main difference between OOD and DOD is related to the way data is organized and accessed. While DOD is able to efficiently utilize the cache memory, programming using the data-oriented design is perceived as much more complex compared to programming applications using object-oriented design. In this paper, we will first develop a simple game application using both programming design patterns. Thereafter, we evaluate the performance of both implementations with respect to the overall execution time, CPU and memory utilization. Furthermore, we will develop the corresponding multi-threading versions to explore how the memory is utilized when multiple cores access data from shared cache memory. The results of the empirical evaluation show that the code sections that use DOD perform significantly faster than the corresponding parts implemented using OOD for both single-threaded and multi-threaded applications. The maximum observed speedup of 13.25 times demonstrates that games and applications developed using DOD can utilize the available resources more efficiently.
引用
收藏
页数:6
相关论文
共 50 条
  • [21] The object-oriented design of KROSS: An object-oriented spatial database system
    Kim, YH
    Kim, MS
    Kwon, SH
    Jeong, CS
    DATABASE AND EXPERT SYSTEMS APPLICATIONS, 1996, 1134 : 603 - 612
  • [22] Object-oriented data model and data modeling development
    Jin, Yifen
    Fang, Jie
    2005 International Symposium on Computer Science and Technology, Proceedings, 2005, : 769 - 775
  • [23] Software Development based on Object-Oriented Design for Parachute Design and Performance Analysis
    Yu, Li
    Cheng, Han
    Yin, Zhuwei
    COMPUTER-AIDED DESIGN, MANUFACTURING, MODELING AND SIMULATION, PTS 1-2, 2011, 88-89 : 413 - +
  • [24] A criteria for evaluating object-oriented methodologies
    Samouti, A
    Alshawi, S
    SYSTEMS RESEARCH AND INFORMATION SCIENCE, 1996, 7 (02): : 83 - 90
  • [25] EVALUATING OBJECT-ORIENTED QUERY LANGUAGES
    CHAN, DKC
    TRINDER, PW
    WELLAND, RC
    COMPUTER JOURNAL, 1994, 37 (10): : 858 - 872
  • [26] Evaluating object-oriented query languages
    Chan, Daniel K.C., 1600, Oxford Univ Press, Oxford (37):
  • [27] A Criteria for Evaluating Object-Oriented Methodologies
    Systems Research and Information Science, 7 (02):
  • [28] A theory of object-oriented design
    Eden, AH
    INFORMATION SYSTEMS FRONTIERS, 2002, 4 (04) : 379 - 391
  • [29] WHAT IS OBJECT-ORIENTED DESIGN
    HAYTHORN, W
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1994, 7 (01): : 67 - 78
  • [30] OBJECT-ORIENTED DESIGN AND PROGRAMMING
    CASTILLO, CM
    FLANAGAN, EB
    WILKINSON, NM
    AT&T TECHNICAL JOURNAL, 1992, 71 (06): : 27 - 33