About Store Forum Documentation Contact
Donations:
327$/mo



Post Reply 
Performance improvements
Author Message
Esenthel Offline
Administrator

Post: #1
Performance improvements
this is a sneak peak of what I'm working on right now

these are mainly performance improvements for instanced objects (many objects which share the same material), but I think that non instanced rendering will also be faster

5000 objects, made from 10 kinds of source meshes
directional light with 6 shadow maps

Old Rendering, and New Rendering


Attached File(s) Image(s)
       
12-22-2009 10:16 PM
Find all posts by this user Quote this message in a reply
Mikesanimation Offline
Member

Post: #2
RE: Performance improvements
Nice!
12-22-2009 10:39 PM
Find all posts by this user Quote this message in a reply
mih Offline
Member

Post: #3
RE: Performance improvements
Looks good smile great job ;D
12-22-2009 10:58 PM
Find all posts by this user Quote this message in a reply
Harry Offline
Member

Post: #4
RE: Performance improvements
Wow. Very nice. I hope that you'll finish it soon smile
12-23-2009 11:41 AM
Visit this user's website Find all posts by this user Quote this message in a reply
lovee Offline
Member

Post: #5
RE: Performance improvements
GTX295?
HD5970?
I try to use the GTX285 instead of 8800GT, but no increase in the number of FPS, I am trying to spend more time to resolve code issues.
12-23-2009 05:12 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #6
RE: Performance improvements
(12-23-2009 05:12 PM)lovee Wrote:  GTX295?
HD5970?
I try to use the GTX285 instead of 8800GT, but no increase in the number of FPS, I am trying to spend more time to resolve code issues.
hm? I dont think I understand wink the first post shows progress of what will be available in the next EE release (not yet)
12-23-2009 05:18 PM
Find all posts by this user Quote this message in a reply
Mikesanimation Offline
Member

Post: #7
RE: Performance improvements
I think Lovee was trying to ask you what video card you have?
12-23-2009 07:07 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #8
RE: Performance improvements
I have 9600GT, but I'm planning to upgrade soon.
I'm considering Radeon 5850 but I want to wait for the new nvidia series first
cards will be needed when I will be adding DX11 support
12-23-2009 07:21 PM
Find all posts by this user Quote this message in a reply
lovee Offline
Member

Post: #9
RE: Performance improvements
I think NV is worth looking forward to the next generation of products, from my understanding to see NV's PhysX is a subset of the Vertex Shader, cuda is a subset of the Pixel Shader, while the NV to provide PhysX and Cuda bypassing the D3D SDK, directly calls the driver to provide features.So that the development of cross-platform advantages are obvious.
(This post was last modified: 12-24-2009 08:24 AM by lovee.)
12-24-2009 08:24 AM
Find all posts by this user Quote this message in a reply
igorwojtowicz Offline
Member

Post: #10
RE: Performance improvements
Wow. Beautiful
(This post was last modified: 12-24-2009 12:07 PM by igorwojtowicz.)
12-24-2009 12:07 PM
Find all posts by this user Quote this message in a reply
Masterxilo Offline
Member

Post: #11
RE: Performance improvements
Is this faster than using instancing right now?

System: Windows 7 Ultimate 64 bit, Q6600 2.4 GHZ, 4GB RAM, nVidia GeForce 260 GTX 896 MB DDR3

Visit my site: hurricane-eye.webs.com
And read my blog: hurricane-eyeent.blogspot.com
12-24-2009 02:34 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Harry Offline
Member

Post: #12
RE: Performance improvements
What does exactly means "instanced object"?
12-24-2009 02:45 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Masterxilo Offline
Member

Post: #13
RE: Performance improvements
It means that you say the GPU:
"Hey, look at this mesh. Now take it and draw it here, here, there, over there and so on."

This is much faster than letting it draw each mesh separately (even if it's the same everytime, it has to be reprocessed every draw call):
"Draw this mesh here. Draw this mesh here. Draw this mesh over there..."

System: Windows 7 Ultimate 64 bit, Q6600 2.4 GHZ, 4GB RAM, nVidia GeForce 260 GTX 896 MB DDR3

Visit my site: hurricane-eye.webs.com
And read my blog: hurricane-eyeent.blogspot.com
12-24-2009 03:17 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Harry Offline
Member

Post: #14
RE: Performance improvements
So if I put for example 14 object from one .obj file (14 barrels for example) I put objects by using this method?
12-24-2009 04:03 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #15
RE: Performance improvements
(12-24-2009 02:34 PM)Masterxilo Wrote:  Is this faster than using instancing right now?
the new rendering is based on InstancedRenderer so it will achieve similar performance
this will bring many performance improvements to the game world (Game::World) rendering
because in current world rendering system every object is rendered separately (no instancing is used), and every time all render modes are checked, in the new rendering system instancing will be used, and only needed render modes will be used, so it will decrease CPU usage and increase GPU performance, early tests are promising smile

(12-24-2009 04:03 PM)Harry Wrote:  So if I put for example 14 object from one .obj file (14 barrels for example) I put objects by using this method?
you'll do things almost exactly the same as they are done now, however instead of Mesh::draw you will need to call something like 'add' or 'drawBatched' or 'drawInstanced' or 'drawQueued' - I'm still trying to figure out the best name for the method - if you have some ideas, let me know smile

(12-23-2009 11:41 AM)Harry Wrote:  Wow. Very nice. I hope that you'll finish it soon smile
It's almost ready smile I just need to finish RM_BLEND mode, check if all other effects will not break, so it should be available soon.
however since the new rendering will be slightly different, new Mesh drawing method will be used and it will be only called in one rendering mode, I will first release a EE Beta for testing/preview, it will be released as a way of saying thank you to everyone who has kind enough to help promote the engine by writing a short review on devmaster http://www.esenthel.com/community/showthread.php?tid=90
12-24-2009 05:15 PM
Find all posts by this user Quote this message in a reply
Post Reply