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 条
  • [1] Formal Multi-threading Method of Object-Oriented
    Zhang, Anyu
    Xie, Xiaoyao
    2008 2ND INTERNATIONAL CONFERENCE ON ANTI-COUNTERFEITING, SECURITY AND IDENTIFICATION, 2008, : 293 - +
  • [2] Object-Oriented/Data-Oriented Design of a Direct Simulation MonteCarlo Algorithm
    Liechty, Derek S.
    JOURNAL OF SPACECRAFT AND ROCKETS, 2015, 52 (06) : 1521 - 1529
  • [3] The Data-Oriented Design Process for Game Development
    Bayliss, Jessica D.
    COMPUTER, 2022, 55 (05) : 31 - 38
  • [4] Evaluation of object-oriented design patterns in game development
    Ampatzoglou, Apostolos
    Chatzigeorgiou, Alexander
    INFORMATION AND SOFTWARE TECHNOLOGY, 2007, 49 (05) : 445 - 454
  • [5] The design of an object-oriented user interface for the object-oriented database
    Liu, XD
    Li, LZ
    Wang, XF
    OBJECT-ORIENTED TECHNOLOGY, 1997, : 150 - 155
  • [6] OBJECT-ORIENTED REQUIREMENTS TO OBJECT-ORIENTED DESIGN - AN EASY TRANSITION
    DAVIS, AM
    JOURNAL OF SYSTEMS AND SOFTWARE, 1995, 30 (1-2) : 151 - 159
  • [8] Object-oriented design
    Holland, IM
    Lieberherr, KJ
    ACM COMPUTING SURVEYS, 1996, 28 (01) : 273 - 275
  • [9] OBJECT-ORIENTED DESIGN
    CUSACK, EL
    CLOUGH, C
    RICHARDS, K
    BRITISH TELECOMMUNICATIONS ENGINEERING, 1990, 9 : 71 - 77
  • [10] Design of a Data-Oriented GPC
    Guan, Zhe
    Wakitani, Shin
    Yamamoto, Toru
    2013 INTERNATIONAL CONFERENCE ON ADVANCED MECHATRONIC SYSTEMS (ICAMECHS), 2013, : 555 - 558