Ticket #419 (closed enhancement: fixed)

Opened 9 months ago

Last modified 4 months ago

Improve Instance culling technique using a quadtree or something similar

Reported by: prock Owned by: FIFE
Priority: highest Milestone: 0.3.2
Component: engine/core/view Version: trunk
Severity: major Keywords: view, performance, framerate
Cc: klaus.blindert@… Time planned:
Time spent: Time remaining:

Description

The more instances you have on a map the more the framerate suffers. We need to implement a new culling technique to sort and cull instances that do not exist in the view area.

Discussions and a profile can be found here:  http://forums.parpg.net/index.php?topic=570.0 and some more discussions here:  http://logs.unknown-horizons.org/%23fife/%23fife.2009-Wed-22.log

FIFE currently uses a quadtree to sort instances for instance selection. Why not make use of the quadtree for rendering also? Perhaps a new data structure is in order.

Attachments

Change History

Changed 9 months ago by phoku

I was working on that one.

Solution is inside the view_performance branch.

Using QuadTree? to spatially sort the onscreen images:

 http://fife.trac.cvsdude.com/engine/browser/branches/active/view_performance/engine/core/view/layercache.cpp

Using it from the Camera:

 http://fife.trac.cvsdude.com/engine/browser/branches/active/view_performance/engine/core/view/camera.cpp

Things get messy with zooming+rotation though, so it's not finished.

Changed 9 months ago by phoku

  • cc klaus.blindert@… added

Changed 4 months ago by helios2000

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

(In [3287]) * Merged the view performance branch back into trunk. closes #419

Add/Change #419 (Improve Instance culling technique using a quadtree or something similar)

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.