AMD Tootle

Discussion area about developing with Ogre-Next (2.1, 2.2 and beyond)


Post Reply
User avatar
TaaTT4
OGRE Contributor
OGRE Contributor
Posts: 267
Joined: Wed Apr 23, 2014 3:49 pm
Location: Bologna, Italy
x 75
Contact:

AMD Tootle

Post by TaaTT4 »

I'd like to share with you the fork I made to AMD Tootle in which I added support for OGRE meshes.

For who doesn't know it, AMD Tootle is a tool that can optimize models for pixel overdraw as well as vertex cache performance.
See here for more infos.
In the past, there's already been some tries to integrate this library with OGRE (see here and there), but I've prefered to start from scratch from the official AMD Tootle repository than trying to resurrect some old unmantained code.

Just few notes about the fork.
Due to lack of time, I'm not interested in improving and maintaining this project as a production software.
I've developed the tool tailored to the asset workflow pipeline used by my company (e.g.: Windows OS, OGRE 2.1 and V1 mesh format only).
The project has been written in few days, without concerning too much about code quality, mixing parts both from OGRE Mesh Tool and AMD Tootle Wavefront sample.
I'm sharing this tool with you because someone could benefit from it or could be interested in take care/improve it (e.g.: making it part of official OGRE tools, integrating it with OGRE Mesh Tool, etc.).

Feel free to use this software, modify it and ask questions about it.
And if you like it, buy me a beer! ;)
Image

Senior programmer at 505 Games; former senior engine programmer at Sandbox Games
Worked on: Racecraft EsportRacecraft Coin-Op, Victory: The Age of Racing

rujialiu
Goblin
Posts: 296
Joined: Mon May 09, 2016 8:21 am
x 35

Re: AMD Tootle

Post by rujialiu »

Wow!!! I haven't heard of it. Looks like it's worthy trying. Thanks!
xrgo
OGRE Expert User
OGRE Expert User
Posts: 1148
Joined: Sat Jul 06, 2013 10:59 pm
Location: Chile
x 168

Re: AMD Tootle

Post by xrgo »

Niiiice! can you comment on the performance gains you got with this?

thank you soooo much!!

editpd: haven't tried it yet, but I wanted to take a look at the code you did, but I couldn't fin any ogre stuff on that repo, can you point me to it?
edit2: ok, its in the master-sandbox branch!
User avatar
TaaTT4
OGRE Contributor
OGRE Contributor
Posts: 267
Joined: Wed Apr 23, 2014 3:49 pm
Location: Bologna, Italy
x 75
Contact:

Re: AMD Tootle

Post by TaaTT4 »

xrgo wrote: Mon May 13, 2019 5:53 pm Niiiice! can you comment on the performance gains you got with this?
Honestly, I didn't test it yet in a realistic scenario (I've shared the tool with you before sharing with the artists that works with me). :roll:
I've optimized juts few bunch of meshes (mainly to verify that it wouldn't screwed vertices, faces, etc.).
In one of the topics I linked in my previous post, someone reported the results of applying AMD Tootle optimizations over athena.mesh (but it was from 2007).

In a paper, creators of AMD Tootle state that in the worst case scenario there could be no gain (but also no penalty).
With the -a switch you can control how aggresive the tool optimizes meshes (consuming more time doing it).

Senior programmer at 505 Games; former senior engine programmer at Sandbox Games
Worked on: Racecraft EsportRacecraft Coin-Op, Victory: The Age of Racing

xrgo
OGRE Expert User
OGRE Expert User
Posts: 1148
Joined: Sat Jul 06, 2013 10:59 pm
Location: Chile
x 168

Re: AMD Tootle

Post by xrgo »

TaaTT4 wrote: Tue May 14, 2019 2:45 pm Honestly, I didn't test it yet in a realistic scenario
Can you report once you do?
TaaTT4 wrote: Tue May 14, 2019 2:45 pm(I've shared the tool with you before sharing with the artists that works with me). :roll:
:oops: :P :roll:
User avatar
TaaTT4
OGRE Contributor
OGRE Contributor
Posts: 267
Joined: Wed Apr 23, 2014 3:49 pm
Location: Bologna, Italy
x 75
Contact:

Re: AMD Tootle

Post by TaaTT4 »

xrgo wrote: Tue May 14, 2019 3:24 pm Can you report once you do?
Quick empirical report: loading a standard track scene, I've moved from 100 to 115 fps (more or less). I've measured it in a worst case scenario, with every item inside camera frustum.
Please note that part of the meshes of our scene are generated with OGRE Procedural on the fly and they aren't "tootled".

Senior programmer at 505 Games; former senior engine programmer at Sandbox Games
Worked on: Racecraft EsportRacecraft Coin-Op, Victory: The Age of Racing

User avatar
TaaTT4
OGRE Contributor
OGRE Contributor
Posts: 267
Joined: Wed Apr 23, 2014 3:49 pm
Location: Bologna, Italy
x 75
Contact:

Re: AMD Tootle

Post by TaaTT4 »

Pushed a fix that prevents tool from crashing trying to optimize meshes with 32-bit indices.
Sorry for the inconvenience :oops:

Senior programmer at 505 Games; former senior engine programmer at Sandbox Games
Worked on: Racecraft EsportRacecraft Coin-Op, Victory: The Age of Racing

User avatar
TaaTT4
OGRE Contributor
OGRE Contributor
Posts: 267
Joined: Wed Apr 23, 2014 3:49 pm
Location: Bologna, Italy
x 75
Contact:

Re: AMD Tootle

Post by TaaTT4 »

Pushed another fix that let tool to export multiple uv sets.

Senior programmer at 505 Games; former senior engine programmer at Sandbox Games
Worked on: Racecraft EsportRacecraft Coin-Op, Victory: The Age of Racing

rujialiu
Goblin
Posts: 296
Joined: Mon May 09, 2016 8:21 am
x 35

Re: AMD Tootle

Post by rujialiu »

TaaTT4 wrote: Wed May 29, 2019 11:39 am Pushed another fix that let tool to export multiple uv sets.
You made me more and more interested. I don't know how long will it take to beat my laziness :D
Post Reply