Jump to content

Ilias48rus

Member
  • Content Count

    239
  • Joined

  • Last visited

  • Medals

Everything posted by Ilias48rus

  1. "on each framed", as any other code are executed by CPU, it connected to Graphics or GPU only in terms of pausing game's simulation (so the rendering) until all "onEachFrame" instances finished.
  2. Thats the point: you can't, it is indication of problem (normal processes(important loops..) can busy CPU because they stacked in 1|few threads's queries), you can see it by executing:" for'_n'from 0 to 1000 do{addMissionEventHandler['EachFrame',{for'_n'from 0 to 10 do{9999*9999/9999*9999/9999}}]} (what makes 1000 tasks without: actions needed to synchronise with other processes and usage of arma's scheduler;, result is: FPS going down, CPU load-no changes at all.)" (https://feedback.bistudio.com/T59083#1639538) , i didn't said its "easy", and there is plenty other things what should be done (guies all can't be implemented at once), and guies the problem,possible solutions wasn't noted because currently arma handling ~enough for proposed gameplaying and players do not paying attention on it's potential to handle more,work better, which hided by things like this one
  3. Also want to bit enlarge the theme by adding question: Maybe there is some way to get arma use more CPU, anyone know it ?
  4. Yes, kind of (not "scheduled", 'scheduler' in arma is system which merging tasks in 1 commands queue and executing |1 command per frame|(not certainly sure)), and its not something like requiring to rewrite half of engine, same as multicore threading support(which was added to game in ~2015y. as i remember) it requiring some implementations to CPU thread forming cycle and some to commands conversion cycles.
  5. Writing using the marks for you,for would be easier to read (to correctly understand parts of sentences)
  6. #680 (rus.) Now commands for running sent to a system in which they arranges in queues for the CPU threads ?, additional system (to which commands of 'separate' scripts will be sent) or enlarge current system {for commands of 'separate' scripts being passed though other set of actions) for: _ organization of additional threads: __ in the option |1|: on basis of analysis of _requiring organization commands, CPU usage and the system 's variables_ forming appropriate amount of 'separate' threads for CPU __ in option |2| on the basis of information about _it's arma's thread (code on execution) and the requested action (parameters set for 'formThread' command|block)_ forming the threads. (return result: _ |1| depending on whether the system capable to create CPU threads which does not require to delay rendering, _ |2| __ if delaying rendering: same way as it is now, just considering 'separate' code as 1 command __ without delaying of rendering: same, just the result will need to go trough same|similar scheme which present now for result correlation with executed command(provided by scheduler)) . all _sets of commands that does not require synchronization with other ones_ can run separately using different CPU threads instead of increasing length of 1 thread (what leads to longer execution) note: in unsheduled enviroement skripter do not know in what order commands will be executed, so the only change in program's external behavior is that when the scripts are run simultaneously using shared data (ex.: global variables,..).there is a very small chance that they will overwrite each other 's result (example: //'result'=(first 'not local' command in the code) //a=1; CPU thread0: task{_a=a+1}result{a=_a} CPU thread1: task{_a=a+1}result{a=_a} //currently in next frame is guaranteed a==3 (guies); //will be a small chance that |a| will ==2; ), _ in |1| this is possible to solve by comparison of codes's 'results' (when they affecting same datasets(in example above: |a|) they can be executed only together(in 1 CPU thread)); _ but actually it is another advantage to |2| (no need to solve it) (if skripter decides whether to use this method of execution, he can take it into account)
  7. Worrying what noone know way, so: https://feedback.bistudio.com/T59083#1639544 (final edit: 8/19/2017, 12:22 PM by UTS) Still hope for any ideas, workarounds
  8. |call| continuing script (where it executed) regardless scheduled or unscheduled it was, if script runned scheduled using call will continue it scheduled.
  9. you mistaking with |call|, understand: https://community.bistudio.com/wiki/Scheduler , You misunderstood theme
  10. Is some more ergonomic way to |execute something within frame| than adding and removing event handler ? Answer: on Community wiki ("Unscheduled Environment", "Where code starts unscheduled") |isnil| isnil{systemchat str diag_frameNo;} //sp: 0.0053ms (edited from: "Is some more ergonomic way to execute something within next frame than adding and removing event handler ?")
  11. ok..,-sorry what i unpurposely got you into confusion, but "next" frame is not important in the question, its just speech word, question is in execution within frame: []spawn{systemchat str diag_frameNo; for'_n'from 0 to 100000 do{}; for'_n'from 0 to 100000 do{}; isnil{systemchat str diag_frameNo; for'_n'from 0 to 100000 do{}; for'_n'from 0 to 100000 do{}; systemchat str diag_frameNo;}; } //887349, 887353, 887353; Thank you for responses
  12. sorry, bit mistaked when tested, no, it doesn't execute within frame ("within next frame") Found answer on wiki (added to first post)
  13. Yes, working, thank you What you mean ? ("bool check") (if you mean ex: if(|code|)then{}; then there is a problem: not possible to use it for multiline script (use |;| character)) Just for possible other future readers, what is other ways to execute code within frame ?
  14. Missions generation not working with "Whole map" or zones >3.5x3.5km size areas.in takistan cup's map
  15. Suggestion: add support for any button+button combinations (not only shft+|_|, ctrl+|_|, alt+|_|)
  16. Ilias48rus

    Enhanced Movement

    Any comments ?
  17. You just didn't worked with pertinent systems, while it probably still can be possibly to make only setting local arrays in each script and using cross passing links between them there can be situations where you'll |should|need to| set the global link to array's part, ex: Player open interface with tree showing it's subordinates, on creation dialog calling the array which is part of global command tree. , also can be other scripts from other systems which will continue running, having in memory local links to array which you want to delete
  18. Its other, i'm talking about not simple, global arrays, for example command tree, whole tree is, and parts of it which containing groups under units's command can be assigned to global variables for speeding access when working with the units, and yes can say the parts can be described: just like other global arrays; but still easier to write one command to delete whole hierarchy
  19. Deal not in its's names, deal in links which leading to arrays which is parts of the arrays, there can be alot of them, ex: a=[[0],[1] //.. ]; a1=a select 0; a2=a select 1; a select 0 pushback 1; //.. a=nil; systemchat str a1; systemchat str a2 //.. its even IF parts of array which can't be accessed getting deleted, need to find all the links to it's other parts in scripts
  20. For example in my comm script, if i'll finish it probably would be useful to write it in uninit script for deleting data arrays, they would have hundreds of items in them (deleting would be bit justified) and despite it wouldn't be difficult to find all links, it could be easier to write delete |most used link 's name| (global arrays usualy have local links, pereodicialy unmentionable (each time you writing _a=a for example, making new link))
  21. i said command to unassign all variables linking to the array and delete the array, not to delete the array and keep them all broked. Its 1 of things why i'm not happy with other languages, the huge mount of coding all the time for the technical supply of the workground (allocating spaces, describing how do do something additionally to just writing to do it..) ps.(i do know difference with languages's levels (do not describe it with another post please))
  22. Yeap, compairing, + but its missed command, agree ?, it also (additionally to case when you don't know all links's names) would be useful for deleting arrays, because it would take 1 action instread of |_|=nil for each array's link. (I do understand what its not something very needeable, but still technically)
  23. Yes, probably, as far as i know too, but the question is: how to delete array (delete all the links) if know only 1 of them ? + How to delete array (delete all the links) if know only 1 of them ?
  24. no, a=[0,1,2,3,4,5,6,7,8,9]; a1=a; a1=nil; hint str a a1=nil is setting up a1==nil not the array ([0,1,2,3,4,5,6,7,8,9]), the array is in memory and not is a or a1, its just links to it.
×