Modify

Ticket #197 (closed task: fixed)

Opened 10 years ago

Last modified 7 years 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:
Blocked By: Blocking:
Department:

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 (10.7 KB) - added by eliedebrauwer 10 years ago.
oprofile output on a small map
bench_post.txt (7.4 KB) - added by eliedebrauwer 10 years ago.
oprofile benchmark on a large map

Change History

comment:1 Changed 10 years ago by eliedebrauwer

  • Owner changed from parpg to eliedebrauwer

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

comment:2 Changed 10 years 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 10 years ago by eliedebrauwer

oprofile output on a small map

Changed 10 years ago by eliedebrauwer

oprofile benchmark on a large map

comment:3 Changed 10 years ago by barra_parpg

  • Description modified (diff)

comment:4 Changed 10 years 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 :( )

comment:5 Changed 9 years 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.

comment:6 Changed 8 years ago by Laksendeaks

No bad :), it's well, to tomorrow ...

comment:7 Changed 7 years ago by Guaragnug

Для строительства дома всегда необходима . А так ли это?

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


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

 
Note: See TracTickets for help on using tickets.