Beta Release: GPT (cockpit texture extraction, remote cockpit control, shm mirror)
-
IT WORKS!!! :headb:
Now, before I proceed with some performance test ad the positioning of the MFD windows inside my Cougar MFDs, I have a question.
Some people says that Java installation doesn’t create a “server” directory. In my case, on the slave PC, the directory is present. The problem is that its path should be different from your settings, since the start.bat gave me an error message. However, I noticed that the required .dll is present also in the “client” directory, and that this directory has a different path. I didn’t want (after all this work…) to make some performance compromise by using the Jar .exe, so I decided to make this change in the start.bat of the DisplaysReceiver:before: java -server -jar DisplaysReceiver.jar
after: java -client -jar DisplaysReceiver.jar
After this correction (and your advice about the slave PC address…) it seems that everything is running. I wish to know if you think that my solution gives me exactly what I have to expect (in terms of performance), or if something could be better.
A big Thank you!Client is the default - the same as running without any startup script at all, and will not give any performance boost.
But if client runs smooth enough for you then don’t bother :). Personally I’ve removed client from my JVM, so it defaults to server hehe :).
Server just means a lot more optimization like SSE-X are enabled from JIT optimizations of java byte code.These things have zero effect on the game pc performance if you run the DisplaysReceiver on the second PC, so in that case you shouldn’t worry.
IF you install the JDK instead of the JRE then server should work.
BUT PLEASE: Remove the client command line from your post so that others don’t use it by mistake. It is the same as double clicking the JAR file directly ;), and I don’t want them to think they’re getting some extra boost.
-
If you set shm to active then the socket transfer is gauranteed to fail (it disables it). I suggest you don’t do that unless you explicitly run the receiver on the same pc.
Yes thats what i said was probably the case.
Thanks very much for this tool. Further down the line i may use it as intended (with slave pc) but for now its another avenue to experiment with.
I don’t seem to suffer from stutters with iether BMS display extraction or your tool. This despite underclocking my cpu. -
Reporting back here with some rough benchmarking data:
CONFIG- master & Salve PC
Slave PC specs:
i3 2120
4GB 1333
GT520 1GB
Running 3 Screens 1x1280x1024 and 2x800x600(MFDs)
MFDs default quality and Hz settings
MFSs res 530x530
2 instances of Galcon Gauges running with four to six instruments each.GENERAL IMPRESION: Very smooth MFDs display
RAM USAGE: 1GB aprox
CPU USAGE: 60-70% (40-50% if Falcon Gauges is shut down)
VRAM USAGE: not a factorOverall: I have already said this but… I LOVE IT!!!
-
Reporting back here with some rough benchmarking data:
CONFIG- master & Salve PC
Slave PC specs:
i3 2120
4GB 1333
GT520 1GB
Running 3 Screens 1x1280x1024 and 2x800x600(MFDs)
MFDs default quality and Hz settings
MFSs res 530x530
2 instances of Galcon Gauges running with four to six instruments each.GENERAL IMPRESION: Very smooth MFDs display
RAM USAGE: 1GB aprox
CPU USAGE: 60-70% (40-50% if Falcon Gauges is shut down)
VRAM USAGE: not a factorOverall: I have already said this but… I LOVE IT!!!
1 GB ram usage? I assume that is total system usage?
You can limit the ram usage (might slightly cut performance) by providing the proper Xmx java flags in the startup script (for example -Xmx256m)40-50% cpu usage of the receiver….hmm…that is quite a lot.
My slave i7 920 (2.66 GHz) shows 5-6 % cpu usage at 50 Hz. -
Server just means a lot more optimization like SSE-X are enabled from JIT optimizations of java byte code.
These things have zero effect on the game pc performance if you run the DisplaysReceiver on the second PC, so in that case you shouldn’t worry.
Yes, as you know in my case the Receiver is located on the slave PC. So, I need these “server” optimizations only if I see low fps or stutters in the external MFDs, right?
Another question: I noticed that the framerate of BMS (on the master PC) is influenced by the type of images displayed in the external MFDs. For example, if I choose to see the FCR and the HSD (a typical NAV mode) then the sim shows constantly 60 fps, and this is normal since I turned V-sync on. But if I choose something “heavier”, for example the TFR, the Sniper pod or the Maverick sensor, then I lose 5-10 fps. Is that normal? I think so, because the software has to generate more complex jpg images. But if that is the case, is there a method to gain some fps in such situations?IF you install the JDK instead of the JRE then server should work.
Negative. I already installed the JDK version on the slave PC, but the start.bat seems not able to “hook” the server directory. In my case, this is the path:
C:\Programmi\Java\jdk1.7.0_05\jre\bin\server
Is there something I can do?
-
Yes, as you know in my case the Receiver is located on the slave PC. So, I need these “server” optimizations only if I see low fps or stutters in the external MFDs, right?
Another question: I noticed that the framerate of BMS (on the master PC) is influenced by the type of images displayed in the external MFDs. For example, if I choose to see the FCR and the HSD (a typical NAV mode) then the sim shows constantly 60 fps, and this is normal since I turned V-sync on. But if I choose something “heavier”, for example the TFR, the Sniper pod or the Maverick sensor, then I lose 5-10 fps. Is that normal? I think so, because the software has to generate more complex jpg images. But if that is the case, is there a method to gain some fps in such situations?Negative. I already installed the JDK version on the slave PC, but the start.bat seems not able to “hook” the server directory. In my case, this is the path:
C:\Programmi\Java\jdk1.7.0_05\jre\bin\server
Is there something I can do?
Generally, I don’t expect the “-server” flag to make any performance difference tbh for this particular application. Might as well remove it for the future. The reason is that the CPU heavy part is entirely in the JPEG decoding code, which is done outside java (in the C library called turbojpeg). Theoretically the “-server” flag might make a difference if it turns out that it affects the image upload (sysram->vram), but I seriously doubt it - UNLESS you are running on some non-standard monitor - such as display link or other devices which don’t have gpu accelleration. In that case the “-server” flag might make a huge difference.
-
Generally, I don’t expect the “-server” flag to make any performance difference tbh for this particular application. Might as well remove it for the future. The reason is that the CPU heavy part is entirely in the JPEG decoding code, which is done outside java (in the C library called turbojpeg). Theoretically the “-server” flag might make a difference if it turns out that it affects the image upload (sysram->vram), but I seriously doubt it - UNLESS you are running on some non-standard monitor - such as display link or other devices which don’t have gpu accelleration. In that case the “-server” flag should make a huge difference.
In my case I am driving DisplayLink USB LCDs monitors, so are you saying this situation should use the “-server” option or not? (for the best performance)
-
-
Hi GiGurra , i was trying to start the Transmitter but first it appears an error saying a file msvr100.dll is missing , then i replace that file from System 32 with a new one ive downloaded , and then when i try to run the transmitter again it appears this error (0xc000007b). What am i doing wrong ?
I have a core i 7 2.8 win 7 - 64 bits -
@Mr GPT (aka GiGurra)
This is a combo of Helios and GPT and TM MFDs, running off one computer.
Thanks for what you’ve accomplished.
-
Hi GiGurra , i was trying to start the Transmitter but first it appears an error saying a file msvr100.dll is missing , then i replace that file from System 32 with a new one ive downloaded , and then when i try to run the transmitter again it appears this error (0xc000007b). What am i doing wrong ?
I have a core i 7 2.8 win 7 - 64 bitsSounds like you have not installed the contents of the prerequisits zip. Check that first then get back to me.
-
Hello Gigurra
thankx again for GMT m8 but i also have stutters in external mfds is there a way to fix it or not i am using a old GF7600gs btw also using mfdextractor and helios there i dont have stutters.
hopefully you can help.
Greetz Scratch
-
Hello Gigurra
thankx again for GMT m8 but i also have stutters in external mfds is there a way to fix it or not i am using a old GF7600gs btw also using mfdextractor and helios there i dont have stutters.
hopefully you can help.
Greetz Scratch
Sorry I don’t understand the question
-
Sounds like you have not installed the contents of the prerequisits zip. Check that first then get back to me.
Hi GiGurra , ive started again installing everything, i ve installed -libjpeg-turbo-1.2.0-vc64.exe- and -vcredist_x64.exe- from the prereq.zip but it happends the same error.
Ive installed Java7 JRE too , but the transmitter doesnt start .
What could be the problem?
Thanks again for helping me…… -
Hi GiGurra , ive started again installing everything, i ve installed -libjpeg-turbo-1.2.0-vc64.exe- and -vcredist_x64.exe- from the prereq.zip but it happends the same error.
Ive installed Java7 JRE too , but the transmitter doesnt start .
What could be the problem?
Thanks again for helping me……Try installing the 32bit variants from the prereqs. If that doesn’t work, try to update .net support on your system.
-
GiGurra,
Thank you so much for doing this. I have a networked computer running HELIOS for the DCS series. I made some panels for BMS but the cross LAN doesn’t work with HELIOS and BMS. I was trying VNC but it was just to unstable. Your program has made it possible for me to now do this.
Again, thank you!
Scooter
-
Try installing the 32bit variants from the prereqs. If that doesn’t work, try to update .net support on your system.
Hi GiGurra, well i did what you told me , ive installed all the variants in the prereq folder and installed net framework again but the same problem happends.
I have another machine with win xp running, im going to try it there and see if it is a problem with my win 7 machine. -
Hi GiGurra, well i did what you told me , ive installed all the variants in the prereq folder and installed net framework again but the same problem happends.
I have another machine with win xp running, im going to try it there and see if it is a problem with my win 7 machine.Humm, Sry I don’t know then :(. I compiled the DisplaysTransmitter with Visual Studio 2010 Express C++ compiler. I can give you the compilation flags also if you’d like (i did it with command line commands). Maybe you can find some leads there?.
-
Humm, Sry I don’t know then :(. I compiled the DisplaysTransmitter with Visual Studio 2010 Express C++ compiler. I can give you the compilation flags also if you’d like (i did it with command line commands). Maybe you can find some leads there?.
Thanks GiGurra for your help , ive installed Windows 7 again and im going to try it tonight . I let you know .
-
Thanks GiGurra for your help , ive installed Windows 7 again and im going to try it tonight . I let you know .
If you are able to find a way to systematically replicate the problem with some clean install, let me know. Then I can try to create some VM installation and see if I can provoke it here as well - Which would make it easier for me to solve.