X needs 99% CPU with gravitywars on radeon 9200

Dominique Dumont domi.dumont at free.fr
Sat Mar 12 00:51:44 PST 2005


Michel Dänzer <michel at daenzer.net> writes:

> I'm not sure what's going on then... You'd have to find out what the X
> server is doing with all the CPU time when gravitywars runs, e.g. with
> something like oprofile.

Here we go. I hope I got it right.

Here's the report for gravitywars:

CPU: Athlon, speed 2186.38 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 100000
samples  %        image name               symbol name
29       16.8605  libc-2.3.2.so            (no symbols)
22       12.7907  Xorg                     compWindowUpdate
12        6.9767  Xorg                     StandardReadRequestFromClient
6         3.4884  Xorg                     Dispatch
6         3.4884  Xorg                     SecurityLookupIDByType
3         1.7442  Xorg                     SecurityLookupIDByClass
3         1.7442  Xorg                     WaitForSomething
3         1.7442  Xorg                     cwCopyArea
3         1.7442  Xorg                     getDrawableDamageRef
3         1.7442  Xorg                     miIntersect
2         1.1628  Xorg                     FontWakeup
2         1.1628  Xorg                     ProcChangeGC
2         1.1628  Xorg                     ProcCopyArea
2         1.1628  Xorg                     ProcRenderCompositeGlyphs
2         1.1628  Xorg                     StandardFlushClient
2         1.1628  Xorg                     _XSERVTransRead
2         1.1628  Xorg                     cwValidateGC
2         1.1628  Xorg                     cwValidatePicture
2         1.1628  Xorg                     damageComposite
2         1.1628  Xorg                     dixChangeGC
2         1.1628  Xorg                     fbShmPutImage
2         1.1628  Xorg                     mffs
2         1.1628  Xorg                     miBSCheapChangeGC
2         1.1628  Xorg                     miComputeCompositeClip
2         1.1628  Xorg                     miGlyphExtents
2         1.1628  Xorg                     miHandleExposures
2         1.1628  Xorg                     miModifyPixmapHeader
2         1.1628  Xorg                     miSpriteSourceValidate
1         0.5814  Xorg                     AllocatePicture
1         0.5814  Xorg                     ChangeWindowAttributes
1         0.5814  Xorg                     CompareISOLatin1Lowered
1         0.5814  Xorg                     ConfigureWindow
1         0.5814  Xorg                     CreatePicture
1         0.5814  Xorg                     FlushAllOutput
1         0.5814  Xorg                     FlushClientCaches
1         0.5814  Xorg                     FreePicture
1         0.5814  Xorg                     ISOLatin1ToLower
1         0.5814  Xorg                     PolyText
1         0.5814  Xorg                     ProcCreateGC
1         0.5814  Xorg                     ProcLookupColor
1         0.5814  Xorg                     ProcPolyFillRectangle
1         0.5814  Xorg                     ProcShmPutImage
1         0.5814  Xorg                     SecurityLookupWindow
1         0.5814  Xorg                     SetClipRects
1         0.5814  Xorg                     ShmDestroyPixmap
1         0.5814  Xorg                     UpdateCurrentTime
1         0.5814  Xorg                     ValidateGC
1         0.5814  Xorg                     Xalloc
1         0.5814  Xorg                     XkbFilterEvents
1         0.5814  Xorg                     _XSERVTransWritev
1         0.5814  Xorg                     _fs_get_glyphs
1         0.5814  Xorg                     _fs_load_glyphs
1         0.5814  Xorg                     cwComposite
1         0.5814  Xorg                     cwDestroyBackingGC
1         0.5814  Xorg                     cwGetBackingDrawable
1         0.5814  Xorg                     cwPutImage
1         0.5814  Xorg                     damageChangeClip
1         0.5814  Xorg                     damageChangeGC
1         0.5814  Xorg                     damageCopyArea
1         0.5814  Xorg                     damageDamageRegion
1         0.5814  Xorg                     damageGlyphs
1         0.5814  Xorg                     damagePolyText8
1         0.5814  Xorg                     damageValidateGC
1         0.5814  Xorg                     miBSChangeWindowAttributes
1         0.5814  Xorg                     miBSCheapChangeClip
1         0.5814  Xorg                     miBSCheapValidateGC
1         0.5814  Xorg                     miRectAlloc
1         0.5814  Xorg                     miRegionCopy
1         0.5814  Xorg                     miRegionOp
1         0.5814  Xorg                     miSetExtents
1         0.5814  Xorg                     miTranslateRegion
1         0.5814  Xorg                     miValidatePicture
1         0.5814  Xorg                     xf86VTSwitchPending
1         0.5814  Xorg                     xf86Wakeup


And for circuslinux which presents the same symptoms (but is somewhat
playable like on my old 100MHz laptop):

CPU: Athlon, speed 2186.38 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 100000
samples  %        image name               symbol name
8        16.6667  libc-2.3.2.so            (no symbols)
5        10.4167  Xorg                     compWindowUpdate
3         6.2500  Xorg                     SecurityLookupIDByClass
3         6.2500  Xorg                     StandardReadRequestFromClient
2         4.1667  Xorg                     ProcChangeGC
2         4.1667  Xorg                     damageValidateGC
1         2.0833  Xorg                     AllocatePicture
1         2.0833  Xorg                     FindGlyphRef
1         2.0833  Xorg                     FlushClientCaches
1         2.0833  Xorg                     FontWakeup
1         2.0833  Xorg                     Ones
1         2.0833  Xorg                     ProcPolyFillRectangle
1         2.0833  Xorg                     SecurityLookupIDByType
1         2.0833  Xorg                     SmartScheduleClient
1         2.0833  Xorg                     _XSERVTransSocketWritev
1         2.0833  Xorg                     _fs_get_glyphs
1         2.0833  Xorg                     cwDestroyPicture
1         2.0833  Xorg                     cwValidateGC
1         2.0833  Xorg                     cwValidatePicture
1         2.0833  Xorg                     damageChangeClip
1         2.0833  Xorg                     damageChangeGC
1         2.0833  Xorg                     damagePutImage
1         2.0833  Xorg                     mffs
1         2.0833  Xorg                     miComputeCompositeClip
1         2.0833  Xorg                     miComputeCompositeRegion
1         2.0833  Xorg                     miDestroyClip
1         2.0833  Xorg                     miGlyphs
1         2.0833  Xorg                     miIntersect
1         2.0833  Xorg                     miRegionCopy
1         2.0833  Xorg                     miRegionOp
1         2.0833  Xorg                     miSpriteBlockHandler


Hope this helps



More information about the xorg mailing list