User Tag List

Page 1 of 2 1 2 LastLast
Results 1 to 10 of 18

Thread: Performance decrease with DX 9

  1. #1
    Clicker Fusion 2.5 (Steam)

    Join Date
    Mar 2014
    Posts
    2
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Performance decrease with DX 9

    Hello,

    I always used MMF with "standard" display mode. Now I wanted to switch to DX9, cause I want to use shaders. But a few users complains about performance and increase of CPU (before 10% now 20 - 25%). Game use large frame - 17600 * 13200 and about 30k backdrop objects.

    Is there some way how to improve performance?

    Maybe it wouldn't matter much, but users getting "laggy" not sure if thats because DX9 or that CPU performance.

  2. #2
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCiOS Export ModuleInstall Creator Pro
    Julian82's Avatar
    Join Date
    May 2012
    Location
    outbuddies.com
    Posts
    943
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    I assume you use some kind of procedural generation for your levels as you won’t place 30K backdrops manually, right? I really don’t know exactly but I think pasting backgrounds in standard mode leads to one big pre-baked texture while in HWA modes each pasted tile is handeled and tracked separately by the CPU. This would explain the much higher CPU strain in your specific setup. In my experience handling over 10 to 15k backdrops at once in HWA will cause trouble on many machines. Maybe you can reduce the count somehow or load tiles dynamically when actually on screen. Most people have quad core CPUs and as Fusion puts all load on just one core (which most engines do) having a CPU usage of 25% means your game likely already hits the CPU bottleneck of the users machine.

  3. #3
    Clicker Fusion 2.5Fusion 2.5 Mac
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    zip2kx's Avatar
    Join Date
    Jun 2015
    Posts
    782
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Julian82 View Post
    I assume you use some kind of procedural generation for your levels as you won’t place 30K backdrops manually, right? I really don’t know exactly but I think pasting backgrounds in standard mode leads to one big pre-baked texture while in HWA modes each pasted tile is handeled and tracked separately by the CPU. This would explain the much higher CPU strain in your specific setup. In my experience handling over 10 to 15k backdrops at once in HWA will cause trouble on many machines. Maybe you can reduce the count somehow or load tiles dynamically when actually on screen. Most people have quad core CPUs and as Fusion puts all load on just one core (which most engines do) having a CPU usage of 25% means your game likely already hits the CPU bottleneck of the users machine.
    Here's a dumb question, does making things invisible give a performance boost or is there no difference?

  4. #4
    Clicker

    Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleUniversal Windows Platform Export ModuleSWF Export ModuleXNA Export ModuleInstall Creator Pro
    nivram's Avatar
    Join Date
    Jul 2006
    Location
    Bandon, Oregon
    Posts
    6,730
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    The memory state would remain the same, so no difference.

    Marv
    ​458 TGF to CTF 2.5+ Examples and games
    http://www.castles-of-britain.com/mmf2examples.htm

  5. #5
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCiOS Export ModuleInstall Creator Pro
    Julian82's Avatar
    Join Date
    May 2012
    Location
    outbuddies.com
    Posts
    943
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    @zip2kx : I think that's not a dumb question at all and the answer depends on what you do with those invisible objects/ or layers. @nivram is right with the memory state, so if you don't have a pixel shader on a layer/objects making them invisible brings nearly zero (I just tested this). However, objects and layers that are invisible are not put into accout for the renderer and are, of course, skipped for pixel shaders, so in this case making things on screen invisible is a thing. If an object is outside the visible frame window tho you don't have to care about the visibility state at all, as those are not put into account for the display output anyway.

  6. #6
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)
    alexexhowl's Avatar
    Join Date
    Jan 2015
    Location
    RU, YKT
    Posts
    357
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    well, if it is my problem, i could try following steps:
    1. create all objects in a frame.
    2. write all object necessary data into array (name, x, y, layer)
    3. destroy all objects.
    4. and via fastloops and eachloops create or destroy "chunks" of objects (dynamic loading)

  7. #7
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCiOS Export ModuleInstall Creator Pro
    Julian82's Avatar
    Join Date
    May 2012
    Location
    outbuddies.com
    Posts
    943
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by alexexhowl View Post
    well, if it is my problem, i could try following steps:
    1. create all objects in a frame.
    2. write all object necessary data into array (name, x, y, layer)
    3. destroy all objects.
    4. and via fastloops and eachloops create or destroy "chunks" of objects (dynamic loading)
    That's a good outline of how to do dynamic tile loading! Keep in mind tho that looping through a huge array every frame tick and accessing its data may cause a problem even bigger than the CPU issue outlined by @kubas05 . The worst performance bottleneck of most systems is actually not CPU power or RAM limits, it is loading and writing data. I had implemented dynamic tile loading in a very early stage of my project in the hope to get a massive performance boost this way. What happened was the opposite: the huge amount of data accesses per frame tick and loading loops drained the FR even more than having everything handled by the CPU at once. I think it is worth a try tho if you work with REALLY huge scrolling areas or massive tile counts.

  8. #8
    Clicker Fusion 2.5 (Steam)

    Join Date
    Mar 2014
    Posts
    2
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Julian82 View Post
    I assume you use some kind of procedural generation for your levels as you won’t place 30K backdrops manually, right? I really don’t know exactly but I think pasting backgrounds in standard mode leads to one big pre-baked texture while in HWA modes each pasted tile is handeled and tracked separately by the CPU. This would explain the much higher CPU strain in your specific setup. In my experience handling over 10 to 15k backdrops at once in HWA will cause trouble on many machines. Maybe you can reduce the count somehow or load tiles dynamically when actually on screen. Most people have quad core CPUs and as Fusion puts all load on just one core (which most engines do) having a CPU usage of 25% means your game likely already hits the CPU bottleneck of the users machine.
    I placed them manually. Does size of backdrops matter? Like, is it better use 8x 64*64 backdrops or one 512*512 backdrop?

    So tester had 10% cpu without HWA, about 18% with HWA without shaders, and about 23% with HWA and shaders.
    It wouldnt much matter. But it slow (lag) his "walking"

    Just for info, it is online game which use mooclick if it isnt problem?

    Will try delete all backdrops, just to see how it will work after that

  9. #9
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCiOS Export ModuleInstall Creator Pro
    Julian82's Avatar
    Join Date
    May 2012
    Location
    outbuddies.com
    Posts
    943
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    In your setup you need to reduce the backdrop count, so 512*512 will be better. No idea about online functionality.

  10. #10
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)
    alexexhowl's Avatar
    Join Date
    Jan 2015
    Location
    RU, YKT
    Posts
    357
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Julian82 View Post
    @zip2kx: I think that's not a dumb question at all and the answer depends on what you do with those invisible objects/ or layers. @nivram is right with the memory state, so if you don't have a pixel shader on a layer/objects making them invisible brings nearly zero (I just tested this). However, objects and layers that are invisible are not put into accout for the renderer and are, of course, skipped for pixel shaders, so in this case making things on screen invisible is a thing. If an object is outside the visible frame window tho you don't have to care about the visibility state at all, as those are not put into account for the display output anyway.
    afaik -vania games have a huge maps, and it runs on gba, ps, ds without lags so.

Page 1 of 2 1 2 LastLast

Similar Threads

  1. Increase decrease.Help with function.
    By LopsterCow in forum Fusion 2.5
    Replies: 0
    Last Post: 29th February 2016, 03:50 PM
  2. [Help] Frame Rate Decrease While Recording With Fraps?
    By koolbrosmk in forum Fusion 2.5
    Replies: 3
    Last Post: 9th July 2015, 06:39 PM
  3. How to decrease the volume of the samples?
    By ineke in forum Android Export Module Version 2.0
    Replies: 9
    Last Post: 27th September 2012, 11:34 PM
  4. Performance decrease with DX 8 & 9
    By Blizna in forum Hardware Accelerated Runtime
    Replies: 2
    Last Post: 5th November 2011, 09:39 PM
  5. Performance Decrease with 3D Mesh object
    By Kalnar in forum Hardware Accelerated Runtime
    Replies: 20
    Last Post: 18th January 2008, 09:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •