Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Everything posted by Polymath820

  1. Polymath820

    exThreads explained

    http://forums.bistudio.com/showthread.php?100519-exThreads/page4 Very interesting information if people care. To read it, explains a lot of performance related reasons behind exthreads and how it works. I will make a very clear point as I've said SO many times arma 3 and arma 2 oa both run the primary thread inline with sub-threads of the geometry operations and texture rendering. This is why when the main thread slows down in the case of 1 CPU core not keeping up the system and OS automatically "throttle" not bottleneck the performance, the reason behind this is the threads are required to be synchronised if the draw-calls, texture rendering are not in synchronisation you would see all kinds of strange behaviour, such as textures appearing on invisible objects. (unloaded geometry). So in the threading sense the Primary rendering thread Sync's with: Geo,Texture and File-ops
  2. Polymath820

    Will there be a crash/emergency landing feature?

    Problem with that switching to a new model you have to do it very quickly otherwise you'll end up with the damaged model over the original and then you've got to transfer all the units to the new model, new animations, for the tail rotor to break off etc. You can't just say oh do this, or oh do that. It's just not that simple. Currently the helicopter models are "one model" You will have to likely add 2 new models, or more to accommodate variation between damage events. More processing, more work, more hell.
  3. Polymath820

    Low CPU utilization & Low FPS

    Sorry reality is Arma 3 is just not efficiently mufti-threaded... It is mufti-threaded but not efficiently. If you've noticed Arma 3 has a tendency to thrash 1 CPU core at a time? Reason? Arma 3 sets up the primary thread "loop for video" on 1 thread, that thread then creates 3 others the texture loading, geometry, and file-operations. If the primary thread is overloaded the 3 sub-threads lose performance, arma 3 I've noticed loses a lot of performance in geometry draw. Texture mapping not so much. How do I know it's not multi-threaded? Arma 3 uses threads for the wrong reasons. Scripts and threads are designed for Bulk not atomic https://software.intel.com/en-us/articles/designing-artificial-intelligence-for-games-part-4 #Check FSM's and AI states Overly complex systems. If your subsystem is tied in with too many other systems that constantly cause the subsystem or other systems to wait, threading might not be the answer. There is also a chance that the system itself might benefit from a redesign, if this is the case. #Check arma 3 uses atomic work-loads in all scripts run on the server and are run as individual threads Atomic workload. If the work of the subsystem cannot be broken down, you might not be able to go parallel. The audio mixing task may work great as a thread, but the work of the task is to mix multiple sounds into the channels that are ultimately pumped to the speakers. If your system does calculations on individual chunks of audio before the mix, then it may be possible to thread that. #Check arma 3 uses threading for the primary video-thread loop bad bad bad don't do this. Repeating code. There are cases where multiple threads end up churning away at the same code, only to have some of it thrown out or ignored. Most of this can be avoided with redundancy checks before work begins. #Check AND MATE Costly overhead. There is a bit of extra work in some of these systems (pathing, for instance). If the overhead outweighs the benefits gained from threading, then it might be a good idea to avoid it or just turn it off. This may be true for systems with small numbers of elements (entities, paths, etc.).
  4. Polymath820

    Will there be a crash/emergency landing feature?

    To achieve the "damage effect" you want you would have to apply some kind of vertex geometry modifier to the object in question, on impact. This would basically be the general idea, so when the physical object of the helicopters polygon impacts the ground a simple tessellation draw is called to deform the vertices in the model in a non-permanent manner. Allowing for retention of object information etc. http://www.nvidia.com/object/tessellation.html The tessellation process would add the additional polygons + a deform / geometry shader to change the shape so a helicopter could impact and have the said properties you guys described. Yes arma 3 is DX 11 based, because it uses Displacement maps.
  5. Was he paid to do that or? because he says "we at VBS" -> implies he works there?
  6. http://forums.bistudio.com/showthread.php?156684-Tutorial-Server-bandwidth-amp-Optimisation If possible is there a more detailed version of this, the trade-offs vs the benefits and explained why they are better / worse? Server performance directly influences client performance this is a well established fact. If the server can't pump out the information then you won't get consistent FPS
  7. Polymath820

    Low CPU utilization & Low FPS

    Actually interesting to note VBS 2.0 even though it isn't arma 3 has a -limitfps=#; parameter https://community.bistudio.com/wiki/Virtual_Battlespace:_Startup_Parameters Maybe this is a magical "stay low FPS" ideal?
  8. Polymath820

    Possible copyright infrigements

    There is several communities out there making mods that violate copyright laws on multiple levels not limited to using Holdens name, Holdens designs, Subaru, Dodge, and several other Australian company names, I doubt they have permission. Hell arma 3 life I wonder if they even got copyright approval. Paying $30 to get the mod etc. They have ford, and several vehicles that are real-life vehicles how many copyright infringements is that?
  9. Polymath820

    would you still buy any BI product ?

    The game... isn't the problem. The server is and always has been the problem when it comes to performance. Issues.
  10. http://www.youtube.com/watch?v=ENPsaOT5IlY Where we can open the doors and stick our head out?
  11. How can I create the ambient occlusion maps required for arma 3? I have my retexture ready, but it keeps coming out "too bright", in addition this needs to be server-side so it's downloaded at mission Join.
  12. I am currently trying to setup a dedicated testing server and am having no luck when I want to run client and host on the same system.
  13. http://forums.bistudio.com/showthread.php?183366-Error-Associated-with-running-server-and-client-on-the-same-system-%28dedicated-server%29
  14. Polymath820

    What is bottlenecking my PC?

    Overclock the GPU see if you get a different result.
  15. Polymath820

    What is bottlenecking my PC?

    Someone humor me, overclock your video-card? See what FPS improvement you get? Overclocking the video-card is probably a better option why? The reality is that R9 290X with it's thousands of shader-cores will translate to large FPS improvements in small overclocks why? cores * GPU clock.
  16. Polymath820

    What is bottlenecking my PC?

    Overclocking doesn't improve anything. If the server you are playing on isn't up to the challenge best case on a high performance server You need an upload speed of 39.89MB/s+ The server needs to have network tweaks done. http://forums.bistudio.com/showthread.php?156684-Tutorial-Server-bandwidth-amp-Optimisation
  17. Polymath820

    What is bottlenecking my PC?

    http://cpuboss.com/cpu/AMD-Phenom-II-X6-Black-1090T http://cpuboss.com/cpu/Intel-Core-i7-2600K Your CPU isn't great.
  18. Polymath820

    Arma3 Vehicle Desync/lag

    Like I said on another thread you try writting a game-engine that tracks what is it? When you have it on ultra? 1,000,000 objects? And the server has to get updates about that... Server controls the clients FPS IN A VERY real way. http://forums.bistudio.com/showthread.php?183348-What-is-bottlenecking-my-PC
  19. Flushing file Name\AppData\Local\Arma 3\tmp\__cur_mp.pbo not possible - still open ErrorMessage: Error opening bank Name\AppData\Local\Arma 3\tmp\__cur_mp.pbo After the above happens it CTD's with that message The information above is all there is to say.
  20. Polymath820

    What is bottlenecking my PC?

    Due to arma 3's map-size the FPS you get in game is almost entirely dependent on the server itself. If the server is not sending enough messages per simulation tick you will get FPS drop. I've found that if you have 384 messages per tick at a maximum of 2048bytes It will take 39.86MB/s of upload for the server nearly 1/3 of a 125MB/s upload (1Gbps port) Now you ask what this has to do with FPS? Well Server Tick Simulation time <-> Client FPS they are related why? Arma 3 does something pretty difficult it keeps track of not just 1 or 2 objects but thousands of objects. For every rock, mine, car, player house etc. Is reporting it's position to client and the server updating as necessary people with further draw-distance will ask for draw-call update very frequently those who have smaller will do it less. In having Millions of objects in a scene in arma 3 the game not only has to keep track of this but also get network updates about it. Your system may well be able to pull 60+ FPS doesn't mean the server is.
  21. You can do that and again pre-compile because Larrow above is showing a "constantly running loop" pre-compiling it as stated will save 20x the computation time.
  22. Pre-compile the code if you want that. https://community.bistudio.com/wiki/Code_Optimisation "Written it twice? Put it in a function Pre-compilation by the game engine can save up 20x the amount of time processing, even if the initial time is slightly lengthened. If you've written it twice, or if there is a kind of loop consistently being compiled (perhaps a script run by execVM), make it into a function (FUNCVAR =compile preprocessfilelinenumbers "filename.sqf") "
  23. Interesting StackedEventhandler. Ironically I learned about stacks learning how CPU's work. Basically this is a stack --- Stack --- The eventHandler when fired will queue your program code into stacks and await each execution but first instructions are the last ones which are out meaning the first in last out, last is executed first because it is at the bottom of the stack. Program code A <---- First in ----\/---- then Program Code B ----\/---- then Program Code C ----\/---- then Program Code D ---> Last out Thats all a stack is. So a stacked event handler could be used to intialise multiple things for a client on player connect e.g run code when they JIP Executing that "STACK" of instructions.
  24. Why not loop through each of the units and count how many units there are and at the end of the count then put the script into sleep mode for x amount of time. { _counter = 0; if ((count allUnits) < _counter) then { /* After this falls false it goes to the else condition so that the _counter == (count allUnits) goes to the else clause and sleeps the entire code for n seconds */ _counter = _counter + 1 } else { sleep n; seconds } forEach allUnits;