Opened 10 years ago

Last modified 9 years ago

#2431 new enhancement

[PATCH] Calculate visible patches only when frustum changes

Reported by: Lucas Malo Bélanger Owned by:
Priority: Should Have Milestone: Backlog
Component: Core engine Keywords: patch performance rendering
Cc: Patch:


I looked at the GameView code for updating patches and I saw that the patches were calculated at each frame even if the frustum didn't change.

This patch bring a 15% speed enhancement on my laptop when the game is static.

Attachments (1)

patch_optimization.patch (9.9 KB ) - added by Lucas Malo Bélanger 10 years ago.
Gameview optimization

Download all attachments as: .zip

Change History (8)

by Lucas Malo Bélanger, 10 years ago

Attachment: patch_optimization.patch added

Gameview optimization

comment:1 by Lucas Malo Bélanger, 10 years ago

Summary: [PATCH] Update patches only when frustum changes[PATCH] Calculate visible patches only when frustum changes

comment:2 by Lucas Malo Bélanger, 10 years ago

Keywords: Review Patch added

comment:3 by Echelon9, 10 years ago

Thanks for the patch.

Perhaps worth clarifying in your description that the 15% noted improvement is in one subsystem. i.e. Given there are other hot paths every frame, users shouldn't expect to see a 15% improvement in the final metric (FPS) that the lay person considers the best measure of performance.

Still a good outcome if confirmed via testing!

comment:4 by historic_bruno, 10 years ago

How did you measure the difference? Percentage claims are extremely vague and not very helpful. Also you should describe your test system and build environment (compiler, OS, etc.) and which map(s) you used. Apart from evaluating the patch itself, specific steps help to verify the claimed performance enhancements.

comment:5 by leper, 10 years ago

Milestone: Alpha 16Alpha 17

comment:6 by Itms, 10 years ago

Keywords: patch performance rendering added; Optimization Review Patch removed
Milestone: Alpha 17Backlog

Hello lucas92, and sorry for leaving this patch aside for so long.

Maybe you're aware, but the rendering system has been updated by Philip` in r15445, so it makes your patch obsolete. However, maybe your changes are still relevant (we didn't managed to take a close look at your code, mostly because it isn't applicable anymore), so feel free to post a new version of this.

In the meantime, I remove this ticket from the review queue.

Thanks for your work so far!

comment:7 by Stan, 9 years ago

Owner: Lucas Malo Bélanger removed

Unasigning for lack of updates.

Note: See TracTickets for help on using tickets.