Page 1 sur 1
Soucis de Perfs avec le script SIOC dans DCS
Publié : ven. juil. 06, 2012 11:17 am
par icemaker
Salut,
Je viens de me rendre compte que lorsque j'active l'export SIOC dans DCS je perds direct 20fps dans le simu, je voudrais savoir si vous avez le même soucis et si ce n'est pas le cas, comment avez-vous implémenté le script?
Merci par avance pour votre aide.
Publié : ven. juil. 06, 2012 11:28 am
par ReactorOne
idem chez moi, j'avais remarqué ça également...
Seul sur la piste sans l'export SIOC DCS >> 60/65 fps
Avec export SIOC DCS >> 35/40 fps
Un peu chiant...
On va voir avec Coyote lorsqu'il passera par ici.
s'louuuuuuu
R1
Publié : ven. juil. 06, 2012 11:43 am
par icemaker
Faudrais que je demande à gadroc si il n'y a pas moyen de faire un lien SIOC avec HELIOS. vu que HELIOS récupère déjà les infos de DCS sans faire ramer, lui! pour que SIOC tape dans HELIOS.
Vu que chez moi Helios est sur un second PC ça me permettra re récupérer mes FPS!
![Innocent :innocent:](./images/smilies/innocent.gif)
Publié : ven. juil. 06, 2012 11:47 am
par ReactorOne
Oui je pense que "le problème" vient de là, pour un même fichier export, il est lu une
fois par helios et en même temps par SIOC. Si je lance Helios seul pas de souci de FPS.
Idem second PC helios et sioc, PC principal DCS.
s'louuuuuu
R1
Publié : ven. juil. 06, 2012 2:22 pm
par coyote-89
ReactorOne a écrit :Oui je pense que "le problème" vient de là, pour un même fichier export, il est lu une
fois par helios et en même temps par SIOC. Si je lance Helios seul pas de souci de FPS.
Idem second PC helios et sioc, PC principal DCS.
s'louuuuuu
R1
SAlut,
Je vais faire le test, mais j'ai une petite question :
Quand vous dites sans activer l'export SIOC : vous faites cela comment ?
Sinon on peut aussi optimiser le code SIOC: rien que dans l'export pour HELIOS, pour mon pit il y a 3/4 des valeurs exporteés qui ne me serve pas et dont les valeurs sont quand meme calculées !
Publié : ven. juil. 06, 2012 3:42 pm
par icemaker
Faudrait que l'on prenne 5 minutes pour se concerter sur ce qui sert et ce qui sert pas.
J'ai posté sur le forum de HELIOS pour demander comment interfacer Helios et SIOC je peux faire un programme mais faut que je sache quoi faire.
Publié : ven. juil. 06, 2012 4:29 pm
par coyote-89
icemaker a écrit :Faudrait que l'on prenne 5 minutes pour se concerter sur ce qui sert et ce qui sert pas.
J'ai posté sur le forum de HELIOS pour demander comment interfacer Helios et SIOC je peux faire un programme mais faut que je sache quoi faire.
Ok pour moi.
Publié : ven. juil. 06, 2012 6:34 pm
par ReactorOne
Ok pour moi également.
s'louuuuuu
R1
Publié : ven. juil. 06, 2012 6:42 pm
par ReactorOne
coyote-89 a écrit :
Quand vous dites sans activer l'export SIOC : vous faites cela comment ?
Je lance Helios puis DCS mais pas le soft IOcards.
Sinon je passe les lignes correspondantes à SIOC dans le LUA en commentaires.
s'louuuuuuu
R1
Publié : sam. juil. 07, 2012 3:49 pm
par coyote-89
R1, il faut effectivement mettre en commentaire les lignes dans le LUA car meme si SIOC n'est pas lancer et bien l'export se fait qd meme.
J'ai fait le test et effectivement il y a une grosse baisse de perf.
Pour info il ne sert pas a grand chose d'enlever les variables inutiles dans l'export HELIOS ( pas vu de hausse au niveau FPS )
La meilleur solution serait effectivement de recuperer directement ces variables via un export direct fait par HELIOS.
Publié : sam. juil. 07, 2012 5:49 pm
par icemaker
Bon petite trouvaille pas inutile :
Passez l'option settimeout(.01) à settimeout(.0001)
ça permet de récupérer une dizaine de FPS c'est déjà ça de pris...
J'ai fait plusieurs tests et en faite ce qui bouffe le plus de FPS c'est l'envoi des boutons de la carte IO a DCS via le script.
Publié : sam. juil. 07, 2012 6:40 pm
par icemaker
Cette fois je crois que c'est bon.
Je ne perds plus que 4/5 Fps.
Dans le fichier SiocExport.lua
Il faut supprimer ceci :
Code : Tout sélectionner
socketSioc = require("socket")
-- Change to correct ip and port (127.0.0.1 = localhost, 8092 = default SIOC port)
host = "192.168.0.10"
--host = "127.0.0.1"
port = 8092
--socket = require("socket")
c2 = socketSioc.tcp()
c2:setpeername(host, port)
c2:settimeout(.01) -- set the timeout for reading the socket
et la remplacer par ceci :
Code : Tout sélectionner
socketSioc = require("socket")
c2 = socketSioc.try(socketSioc.connect(siocConfig.hostIP, siocConfig.hostPort)) -- connect to the listener socket
c2:setoption("tcp-nodelay",true) -- set immediate transmission mode
c2:settimeout(.0001) -- set the timeout for reading the socket
Dans le reste du fichier cherchez "socketSioc.try(c2:send" et supprimez "socketSioc.try(" ainsi que la dernière parenthèse de la ligne.
Dans le dossier SIOCConfig le fichier SIOCConfig.lua doit avoir cette ligne renseignée correctement avec l'IP de la machine qui porte la carte SIOC:
siocConfig = {hostIP = "192.168.1.2", hostPort = 8092}
Normalement avec cette manip vous retrouverez une bonne partie de vos Fps.
Publié : sam. juil. 07, 2012 7:00 pm
par ReactorOne
Merci Ice, je testerai ça rapidement et te ferai un feedback.
s'louuuuuuu
R1
Publié : sam. juil. 07, 2012 10:03 pm
par coyote-89
Ice,
Je viens de faire le test. Effectivement il semble ( en tout cas pour mon cas ) que l'on gagne quelques FPS, j'ai constaté une augmentation d'une bonne dizaine dans les scenes un peu chargées. J'arrive a atteindre 30 à 35 alors qu'avant je restais bloqué vers la vingtaine.
Je vais encore chercher un peu pour voir d'ou viens exaxtement cette baisse....
Pour rappel j'ai 3 ecrans 22'' + 2 de 7'' ( MFD ) + 1 de 4.5'' (CDU ). L'affichage totalise 6650*1080.
Publié : ven. juil. 20, 2012 9:04 am
par ReactorOne
Oups, j'ai oublié le feedback... le voilà, parfait Ice j'ai récupéré entre 15 et 20 FPS.
s'louuuuuuuu
R1