About Store Forum Documentation Contact



Post Reply 
Performance boost
Author Message
Hemi Offline
Member

Post: #16
RE: Performance boost
Sure you can show us some bugs in models, but, unfortunately, they don't seem to be the problem.
First - fps is low on other models, using same texutre, consisting of 1 meshpart.
Second - I second menajev, show something complex, looking good and having decent, playable fps. Having 3 models put into tutorial is not good way of testing performance in REAL game.

These buildings got few different materials, they don't use 1 material that could be overriden.

Changing size of textures didn't solve the problem :(
(This post was last modified: 03-18-2011 03:08 PM by Hemi.)
03-18-2011 03:06 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Zervox Offline
Member

Post: #17
RE: Performance boost
I cannot show you bugs in your meshes(unless thats what you call unoptimized), but I do know a mesh optimized for crap when I see one, same with textures.

Reducing all your 1600x1024 and so on textures boosted my frames from 30 to 63. at 1920x1200 with all at max, and thats only those with obscure resolution changes I ignored setting every texture below 1024x1024 with random size's get some performance from there as well. Remove objects in the scene which players will never see. eg the walls which are inside the houses as well.

Sure they can if you had optimized your meshes you could fit most of the mesh parts on a 2048x2048 just fine.

Secondly yes you can use change materials, just create some kind of parameter in .obj and let c++ decide material.

thirdly I am getting my doubt from you code as well now. when I see how poorly these meshes and textures are optimized it's no wonder performance is crap.

if every game had buildings consisting of 7+ parts each with their own material and each of these materials got 4 textures applied to them? etc their performance would be crap any engine you'll use will be brought to its knees.
03-18-2011 04:08 PM
Find all posts by this user Quote this message in a reply
Mardok Offline
Member

Post: #18
RE: Performance boost
(03-18-2011 04:08 PM)Zervox Wrote:  thirdly I am getting my doubt from you code as well now. when I see how poorly these meshes and textures are optimized it's no wonder performance is crap.
Me too when i saw sloppy meshes, textures, mtrl settings...
So in second post i asked about code sample.

Conclusion:
In this case low FPS is not Esenthel fault but bad and messy developer style. Optimize your project and then Performance Boost is guaranteed. Especially pay attention to mtrl settings, textures, meshes, LOD... and i think some *.cpp too wink

Now guys and girls go back to work and stop crying ^^
(This post was last modified: 03-18-2011 05:15 PM by Mardok.)
03-18-2011 05:01 PM
Find all posts by this user Quote this message in a reply
Zervox Offline
Member

Post: #19
RE: Performance boost
Hey, I am not saying Esenthel doesn't need optimization. ^^ It's just that in this case it is not the engine that is at fault just poor standards to proper use of a engine in general.
03-18-2011 05:03 PM
Find all posts by this user Quote this message in a reply
Hemi Offline
Member

Post: #20
RE: Performance boost
I think both EE and our game could use some optimization wink
03-18-2011 05:09 PM
Visit this user's website Find all posts by this user Quote this message in a reply
dragonfly3 Offline
Member

Post: #21
RE: Performance boost
I was going to suggest fewer mesh parts in your models as well. It's not dumb theoretics. Fewer mesh parts is a pretty basic concept. I always join all parts with the same material at the very least, if not joining them together more. It should be pretty common sense to a modeler-2 parts is better than 60. I'm not even an experienced modeler and ever I know that.

(the boards don't have a multi-quote option...unless I just didn't see it...so I'm copy pasting here)

Zervox said:
"Well, here is another thing I get, you have like 4 different .mesh files the exact same geometry but only the material file is different, why not overide this in the editor on each object or create a .obj for the different instances instead? saves space and sure can't be slower."

I completely agree. It's more laborious to load 4 different .mesh files than it is to load 1 .mesh file, even if you have that 1 mesh file placed 4 different times. That's why we have the option to override the default material on an .obj file.

Zervox said:
"if every game had buildings consisting of 7+ parts each with their own material and each of these materials got 4 textures applied to them? etc their performance would be crap any engine you'll use will be brought to its knees."

Again, I agree. Why would you use 4 textures in one material unless absolutely necessary? Especially if you're having optimization problems. Personally, I have been able to limit my materials to 1 texture. I try to reduce as much as possible where my materials and models are concerned for this very reason. It only makes sense that the more you require the engine to draw and load the worse the performance will be.

No one is saying that these are the only things leading to poor optimization, but that they are most definitely a good start. You shouldn't disregard all of these comments and suggestions without testing them out first. These people aren't just random message board readers, they are also developers who just might have some helpful knowledge that you don't have. Everyone isn't an absolute expert and can always learn something new. Any developer should be thankful for healthy suggestions to help optimize their project.

You know, if you go to the grocery store with only $100 and your groceries ring up to $200 at the cash register, you start removing items in order to reduce your grocery total to the needed $100. So you should do the same here. Start reducing the simple things first, like the textures and models as suggested here. Then look at what improvements can be done to the code.

You shouldn't post about problems you're having and then knock the solutions that experienced developers are giving you until you try them first.
03-18-2011 05:28 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Zervox Offline
Member

Post: #22
RE: Performance boost
(03-18-2011 05:28 PM)dragonfly3 Wrote:  Again, I agree. Why would you use 4 textures in one material unless absolutely necessary? Especially if you're having optimization problems. Personally, I have been able to limit my materials to 1 texture. I try to reduce as much as possible where my materials and models are concerned for this very reason. It only makes sense that the more you require the engine to draw and load the worse the performance will be.
4 textures for added shading and looks is ok, but if you have 9 parts each have their own material and each have 3 or 4 textures, the size of the textures are 1024x1024 taking each 1.3MB each

That equals approximately to this
9*4*1.3MB = 46,8MB of video memory which could've been easily reduced to

4*4*1.3Mb = 20.8MB of Video memory

further more the various scale of the textures differs so much in their materials
eg 1600x1200 = 2048x2048 which is around 1.8Mb-2.2MB somewhere around there eg because of this broken textures it suddenly is

9*4*1.8MB = 64,8MB of Video memory

but if they keep using those texture sizes even more the parts reduction and material sharing is needed
4*4*1.8MB = 28,8MB of Video memory

Not to mention the extra processing of these textures on the GPU adds to the draw overhead.
Eventually you run out of video memory and it starts offloading it's storing to your DRAM which is considerably slower than when it's in video memory.

I believe that is how it goes, correct me if I am wrong.
(This post was last modified: 03-18-2011 05:56 PM by Zervox.)
03-18-2011 05:54 PM
Find all posts by this user Quote this message in a reply
Hemi Offline
Member

Post: #23
RE: Performance boost
We've reduced texture sizes - fps is sometimes up by several. This is not good enough.

You are still talking about one building, I am talking about whole map. I already wrote it, I've got maps with models consisting of 1 meshpart, using 1 1024x1024 tex and it still has few fps.

I just wonder why nobody is willing to show some nice, complex scene with nice fps wink
03-18-2011 06:12 PM
Visit this user's website Find all posts by this user Quote this message in a reply
llynx Offline
Member

Post: #24
RE: Performance boost
(03-18-2011 06:12 PM)Hemi Wrote:  I just wonder why nobody is willing to show some nice, complex scene with nice fps wink

That takes time to make, but I'd be happy to put something together for this weekend.
03-18-2011 06:35 PM
Find all posts by this user Quote this message in a reply
Seba Offline
Member

Post: #25
RE: Performance boost
Gothic 3 is old game now that use directX 9.0c, but i found that buildings that they use was 21.000 polygons in Gothic 2 they use 2100 polygons. We have next generation engine that use directX 11, so i think we can use more then 12 vertex on building to make it look more real and better.

But in other hand if you make building that you don't come in to you don't need floors and materials in building. Also your walls can be plane no cube to reduce vertex count. Then you can put more details outside the building. Also make high polygons model in blender then put it on plane, you get some detail and reduce polygons count. I made it yesterday, door(1024x1024) and window(512x512):


Attached File(s) Image(s)
       
03-19-2011 10:36 AM
Find all posts by this user Quote this message in a reply
Dynad Offline
Member

Post: #26
RE: Performance boost
Don't get me wrong Seba, but your models have waaay too much detail which makes it not very nice anymore.. more subtle would be great wink

There is always evil somewhere, you just have to look for it properly.
03-19-2011 12:08 PM
Visit this user's website Find all posts by this user Quote this message in a reply
menajev Offline
Member

Post: #27
RE: Performance boost
@Zervox: When I said about 'dumb theoretics' I didn't mean analyzing how GPU works but about guys who never put more then 10 models to a scene and tried to told me that there is not optimizations in code.
Quote:So in second post i asked about code sample.
Lol. Don't get me wrong guys, we're testing all your reasonable advices but when I read 'show me Update function' after making screens showing that even Update(){return;} will increase fps to from 29 to 33 I'm getting you quite not serious (but maybe I'm wrong and engine functions returning how long it takes to go through Draw,Update and Phys section is showing inaccuracy values - that would be my bad).

Quote:That takes time to make, but I'd be happy to put something together for this weekend.
I would really love to see something working.

Quote:remove that ground mesh that is scaled 1000 billion in size and use terrain areas instead/ I got over 120 fps at some areas at 1920x1200 when I've removed that terrain"mesh" and inserted proper terrain.
This seems quite strange. Not only because I can't remember I made possibility to change resolution to that value but this mesh got only a few tri and terrain always made us quite huge fps drop.

And Zervox - if you want to see a piece of code just tell me what part - I won't copy whole code.
(This post was last modified: 03-20-2011 01:09 PM by menajev.)
03-20-2011 01:06 PM
Find all posts by this user Quote this message in a reply
MrPi Offline
Member

Post: #28
RE: Performance boost
Ok, here are a few screens out of a prototype we did last year, where FPS was decent enough. We even showed it on a cheap notebook, where it wasn't running fast, but it was ok.

   
   
   
   

LODs, especially billboards, are very important for performance. In fact having the entire prototype architecture and objects in view (but further away) gained much higher FPS, because the polycount was significantly lower due to billboards.
Many of the other improvements suggested by others in this thread make sense and should be considered.

Also, putting everything on max on a medium range graphics card makes no sense at all. Especially the more advanced rendering features can be a killer on FPS.

However, there is still a lot of room for performance boosts in Esenthel. Especially please make sure that not only the newest graphics cards gain good framerates. Not all gamers can afford the newest equipment.
But in my opinion, this engine could be used for a professional title. But please, Grzegorz, never stop optimizing it. wink
03-21-2011 03:07 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #29
RE: Performance boost
Very pretty!

If it's possible that I can use the screens on the main website (news and gallery) then please let me know smile

Good luck with further development!
03-21-2011 05:50 PM
Find all posts by this user Quote this message in a reply
thecoder Offline
Member

Post: #30
RE: Performance boost
Don't misunderstand me - it's really good and nice work and I know that's just some early prototype or whatever, but compared to modern games it's not so impressive. Again, please do not misunderstand me!

Also, what does it mean that FPS were "decent enough"? 24 FPS? 30 FPS? 3.14 FPS? Or maybe 500 FPS? And on what hardware?
03-21-2011 06:26 PM
Find all posts by this user Quote this message in a reply
Post Reply