Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
0 registered members (), 18,767 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Optimisation #99598
11/22/06 21:30
11/22/06 21:30
Joined: Oct 2006
Posts: 91
G
Ghost Offline OP
Junior Member
Ghost  Offline OP
Junior Member
G

Joined: Oct 2006
Posts: 91
Hi,

The plans for the future of A7 seem to cover most things pretty well, the only area that may be lacking is optimisation, so I would like to open a discussion about that here.

I know there are gains due with the ABT renderer and hardware occlusion culling is very likely too eventually, but from the forums there seem to be a few things that experienced users indentify consistently as unavoidable perfomance bottlenecks namely: bone animation and nested if then statements. Ok you can get around the nested statement if you are an expert/know C++ but what about a fix for the ordinary user , Batching has also been mentioned a lot but I've never seen a response -JCL is batching worthwhile in your opinion?

In short Acknex engine feature set and future plans look great but we just need to make sure we don't forget about increasing performance too, especially when alot of the other request are things like shaders that are usually going to slow your game down. So come on give JCL your feedback on what you feel is really slowing down your game in A6?

Re: Optimisation [Re: Ghost] #99599
11/22/06 22:46
11/22/06 22:46
Joined: Sep 2002
Posts: 8,177
Netherlands
PHeMoX Offline
Senior Expert
PHeMoX  Offline
Senior Expert

Joined: Sep 2002
Posts: 8,177
Netherlands
Quote:

So come on give JCL your feedback on what you feel is really slowing down your game in A6?




Mostly it's a.) my bad coding, b.) a lot of stencil shadows, c.) too much traces per frame and it'll slowdown too much (the easy fix is not tracing every frame, but for some things it would have been nice to be able to trace *almost* every frame).

The shaders I'm using eat little performance, I do not like using none-optimised and bad coded shaders,

Cheers


PHeMoX, Innervision Software (c) 1995-2008

For more info visit: Innervision Software
Re: Optimisation [Re: PHeMoX] #99600
11/23/06 07:11
11/23/06 07:11
Joined: Jul 2003
Posts: 893
Melbourne, Australia
Matt_Coles Offline

User
Matt_Coles  Offline

User

Joined: Jul 2003
Posts: 893
Melbourne, Australia
Gamestudio is the fastest indie game engine out there because conitec spend a lot of their time bug fixing and optimizing unlike darkbasic, torque and others

Re: Optimisation [Re: Matt_Coles] #99601
11/23/06 10:01
11/23/06 10:01
Joined: Jul 2000
Posts: 28,024
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 28,024
Frankfurt
Animation can affect the frame rate because it requires a recalculation of the mesh, but this is not a bottleneck. Nested if/then statements can not affect the frame rate. I am not sure what you mean with "batching", so I can't comment on that.

Speed is indeed the most important feature of an engine and thus optimization is a very important issue.

Re: Optimisation [Re: jcl] #99602
11/23/06 10:17
11/23/06 10:17
Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
T
TWO Offline

Serious User
TWO  Offline

Serious User
T

Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
With batching he means entity rendering I think.

So for exemple gras, 2 different models, but 200 instances all send individually to the gpu (without batching). Matt has this in sphere 2.

Re: Optimisation [Re: TWO] #99603
11/23/06 11:33
11/23/06 11:33
Joined: Oct 2003
Posts: 4,131
M
Matt_Aufderheide Offline
Expert
Matt_Aufderheide  Offline
Expert
M

Joined: Oct 2003
Posts: 4,131
I think what JCL meant was that he doesnt understand the context of the question. Batching of what?

Batching is simply the method of preparing a "batch" of vertices and sending them into the pipepline at one time. In that respect, I supposed there is a lot of batching going on in the engine already.

An efficient means of batching large number of similar models is to use instancing, which Sphere does use for grass rendering. Also, sprites are easily batched in a similar way.

As far as that goes, I'm sure the next versions of Gamestudio(A7 etc..) will incorporate some kind of hardware instancing.


Sphere Engine--the premier A6 graphics plugin.
Re: Optimisation [Re: Matt_Aufderheide] #99604
11/23/06 22:01
11/23/06 22:01
Joined: Oct 2006
Posts: 91
G
Ghost Offline OP
Junior Member
Ghost  Offline OP
Junior Member
G

Joined: Oct 2006
Posts: 91
Hi JCL,

Thanks for responding. I understand the reason for bone animation being performance eating in general in all game engines and by batching i mean't as Matt has stated. To be more precise my point is a post from an experienced user suggested bone anims were particularly slow in A6 i.e. slow enough to make them not really useable, if this is not the case and the current implementation is already fast enough compared to other engines and will remain so when vertex weighting is added then that's great news.

Likewise Heelix's post suggested nested if then loops killed your frame rate. again if this is not the case I'm very happy to be corrected.

Basically all I'm saying is please make optimising a few of whatever the big bottlenecks are as high a priority as adding new features for A7. That's why my post suggested other experienced users should openly discuss here whatever they
find is slowing the engine down.

It may be useful to update/correct Heelx's list of slow-downs and add it to the docs/tutorials.:)

Re: Optimisation [Re: Ghost] #99605
11/24/06 10:33
11/24/06 10:33
Joined: Jul 2000
Posts: 28,024
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 28,024
Frankfurt
We have since long a list of all known speed bottlenecks of the engine. You'll find it in the manual under "Engine-> Frame Rate".

I'm indeed not very happy when users post statements like "if/then kills the frame rate". Attempts to follow such "advices" by avoiding if/then results in some waste of time but no better frame rate. But maybe that user meant that in a different way. I can not read and correct every thread here. I just suggest to apply some common sense and take such advices with a grain of salt. I know the bottlenecks rather well, so if in doubt you can always ask on the 'Ask Conitec' forum.

Re: Optimisation [Re: jcl] #99606
11/24/06 16:47
11/24/06 16:47
Joined: Sep 2003
Posts: 9,859
F
FBL Offline
Senior Expert
FBL  Offline
Senior Expert
F

Joined: Sep 2003
Posts: 9,859
Before searching for bottlenecks check the ms times for the different engine parts.
If you see entity rendering at 20ms and scripts at 0.5ms, then simply forget optimizing the script - even if things can be improved there. It will give you next to no improvement. Instead you should check where the 20 ms rendering tme for entities is coming from.

Re: Optimisation [Re: FBL] #99607
11/24/06 17:06
11/24/06 17:06
Joined: Sep 2002
Posts: 8,177
Netherlands
PHeMoX Offline
Senior Expert
PHeMoX  Offline
Senior Expert

Joined: Sep 2002
Posts: 8,177
Netherlands
Which often turns out to be big textures for small models.. Lol, I've just found out that in one of my games, the smallest texture used is 512x512. Lucky enough rescaling the texture in MED is easy as one two three.

Cheers


PHeMoX, Innervision Software (c) 1995-2008

For more info visit: Innervision Software
Page 1 of 2 1 2

Moderated by  aztec, Spirit 

Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1