Ticket #197 (closed task: fixed)

Opened 9 months ago

Last modified 4 weeks ago

Investigate large map bottleneck via profiling

Reported by: barra_parpg Owned by: eliedebrauwer
Priority: major Milestone: Techdemo 1
Component: scripts Version: trunk
Keywords: profiling, large map, tiles, FIFE Cc:
Time spent: 1d Time remaining: 1d
Time planned: 1d

Description (last modified by barra_parpg) (diff)

Having a large number of instances on a map seems to seriously affect ingame as well as map editor performance.

You can test it yourself by updating to the latest SVN revision of PARPG. After that open settings.xml in the PARPG folder and change:

<MapFile> maps/map.xml </MapFile>

to:

<MapFile> maps/techdemo1_ground_level.xml </MapFile>

My guess is that the bottleneck is obviously FIFE-related but if we could provide some solid profiling data, chances are increasing that the FIFE devs look into it and could improve the performance.

To profile a FIFE-based client such as PARPG (on Linux), follow the instructions provided here:  http://wiki.fifengine.de/Profiling:Linux:Callgrind

Update: here's a guide how to profile PARPG:  http://wiki.parpg.net/Profiling_PARPG

Attach profiling data to the ticket. I can forward the information to the FIFE devs.

Attachments

bench_pre.txt Download (10.7 KB) - added by eliedebrauwer 9 months ago.
oprofile output on a small map
bench_post.txt Download (7.4 KB) - added by eliedebrauwer 9 months ago.
oprofile benchmark on a large map

Change History

Changed 9 months ago by eliedebrauwer

  • owner changed from parpg to eliedebrauwer

I'll take a look at this, reassigning to me.

Changed 9 months ago by eliedebrauwer

I already took care of documentating how to profile parpg using some common tools. See  http://wiki.parpg.net/Profiling_PARPG

Changed 9 months ago by eliedebrauwer

oprofile output on a small map

Changed 9 months ago by eliedebrauwer

oprofile benchmark on a large map

Changed 9 months ago by barra_parpg

  • description modified (diff)

Changed 9 months ago by eliedebrauwer

Finding were posted at the forum:  http://forums.parpg.net/index.php?topic=570.msg6764#msg6764

At this point it seems that FIFE::Camera::render() is constantly iterating over our map which consists out of over more than 62.500 instances (per frame :( )

Changed 6 months ago by barra_parpg

  • status changed from new to closed
  • resolution set to fixed

As the bottleneck has been identified and the FIFE devs are working on a view_performance branch to improve the situation the ticket can be closed.

Changed 4 weeks ago by Lord

Hello. In a crisis, fell revenue from sales <a href= http://rapira-mir.ru>rapira-mir.ru</a> . Tell my what can be done. Thanks in advance. Vsem privet. V uslovijah krizisa upal dohod ot prodazh <a href= http://rapira-mir.ru>rapira-mir.ru</a> . Podskazhite chto mozhno sdelat'. Zaranee Spasibo.

Add/Change #197 (Investigate large map bottleneck via profiling)

Author


E-mail address and user name can be saved in the Preferences.


Action
as closed
The resolution will be deleted. Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.