View Single Post
ArnimS's Avatar
Posts: 1,107 | Thanked: 720 times | Joined on Mar 2007 @ Germany
#124
Here's a fairly typical oprofile run for recent dosbox
running wing commander, vga, cycles 1600, frameskip 5 sound is somewhat sputtery. The breakdown was pretty surprising to me - due to high frameskip and dirty buffer technology vga and screen blits accounts for only a few percent of the cpu use.
Code:
CPU: ARM V6 PMU, speed 0 MHz (estimated)
Counted CPU_CYCLES events (clock cycles counter) with a unit mask of 0x00 (No unit mask) count 100000
samples  %        app name                 symbol name
790837   37.7594  dosbox                   CPU_Core_Simple_Run()
205133    9.7943  dosbox                   OPL2::YM3812UpdateOne(int, short*, int)
141333    6.7481  dosbox                   mem_writew(unsigned int, unsigned short)
139735    6.6718  no-vmlinux               (no symbols)
139255    6.6489  dosbox                   mem_readw(unsigned int)
80063     3.8227  dosbox                   VGA_ChainedVGA_Handler::writew(unsigned int, unsigned int)
48412     2.3115  dosbox                   DoString(STRING_OP)
41582     1.9854  dosbox                   FillFlags()
36618     1.7484  oprofiled                (no symbols)
24928     1.1902  dosbox                   CPU_Push16(unsigned int)
23724     1.1327  libSDL-1.2.so.0.7.1      (no symbols)
23586     1.1261  libc-2.5.so              (no symbols)
21747     1.0383  dosbox                   get_CF()
21385     1.0210  dosbox                   get_ZF()
20214     0.9651  libm-2.5.so              (no symbols)
18982     0.9063  dosbox                   EA_16_06_n()
17843     0.8519  dosbox                   EA_16_46_n()
14050     0.6708  dosbox                   EA_16_87_n()
12277     0.5862  esd                      __udivsi3
11886     0.5675  dosbox                   mem_readb(unsigned int)
11750     0.5610  esd                      mix_stereo_16s_to_stereo_32s_sv
10450     0.4989  libpthread-2.5.so        (no symbols)
9641      0.4603  dosbox                   CPU_Pop16()
9593      0.4580  dosbox                   vga_read_p3da(unsigned int, unsigned int)
9429      0.4502  dosbox                   CPU_SetSegGeneral(SegNames, unsigned int)
9387      0.4482  dosbox                   CPU_IO_Exception(unsigned int, unsigned int)
8710      0.4159  dosbox                   read_latch(unsigned int, unsigned int)
8610      0.4111  dosbox                   CPU_CALL(bool, unsigned int, unsigned int, unsigned int)
8609      0.4110  dosbox                   RENDER_StartLineHandler(void const*)
8531      0.4073  dosbox                   Normal1x_8_16_R(void const*)
8445      0.4032  esd                      mix_players
7688      0.3671  dosbox                   PIC_RunQueue()
7181      0.3429  dosbox                   counter_latch(unsigned int)
6856      0.3273  dosbox                   IO_ReadB(unsigned int)
What does it all mean? Well it does give us an indication of why sound blaster emulation requires reducing CPU cycles so much.
 

The Following User Says Thank You to ArnimS For This Useful Post: