Jump to content

Tacview, the ACMI for DCS World – Official Thread


Vyrtuoz

Recommended Posts

Hi Shrimp,

 

Only the Steam edition of Tacview can ask Steam to start/do something. The Standalone edition of Tacview cannot do that (it does not have the required DLLs).

 

Is it possible that the shortcut you are using to launch Tacview is an alias to the Steam edition of Tacview?

 

Hi,

 

I installed Tacview 1.8.1 downloaded from the official Tacview site.

 

When I start it (double click on shortcut that targets to "X:\Xxx\Tacview\Tacview64.exe") it prompts to install the Steam version.

 

I prefer the standalone version.

 

How can I do it as normally up to now?

 

Thank you!

tacview-signature-512x128x24.png
Link to comment
Share on other sites

Hi,

 

Thanks for your reply.

 

 

If I go to the (standalone) Tacview folder installation and double click the 64-bit executable it prompts for the Steam version installation.

 

If I click the 32-bit Tacview executable, Tacview opens normally.

 

I never installed the Tacview Steam version on my PC (I even did not know of its existence until this prompt popped up and then read it on the official site).

 

I installed Tacview with the installer downloaded from the official site, as I have always done.

 

If I uninstall Tacview 1.8.1 and reinstall 1.8.0, it works normally (the 64-bit).

 

So I can't find where the problem lies and how to solve it.

 

May it be that my Steam is "hijacking" Tacview? Maybe is just my system.

 

 

Cheers!!!


Edited by Shrimp
Typo
Link to comment
Share on other sites

I'm using TacView Advanced (non-Steam) for quite some time now and since I updated to 1.8.0 the event log stays empty. I now updated to 1.8.1, hoping that this might fix it, but the event log is still missing. This applies to all kind of track files, so it happens on tracks recorded by myself, as well as on tracks recorded by others.

 

Anything I can do to bring the Event log back to live?

Intel i7-12700K @ 8x5GHz+4x3.8GHz + 32 GB DDR5 RAM + Nvidia Geforce RTX 2080 (8 GB VRAM) + M.2 SSD + Windows 10 64Bit

 

DCS Panavia Tornado (IDS) really needs to be a thing!

 

Tornado3 small.jpg

Link to comment
Share on other sites

I believe that what you are looking for is in the Flight Log which you can find lower down in the same menu.

 

The Event Log will eventually replace the Flight Log, but it currently works only with real-life flight data. It is still a work in progress, so meanwhile you may want to stick with the Flight Log for DCS World.

 

I'm using TacView Advanced (non-Steam) for quite some time now and since I updated to 1.8.0 the event log stays empty. I now updated to 1.8.1, hoping that this might fix it, but the event log is still missing. This applies to all kind of track files, so it happens on tracks recorded by myself, as well as on tracks recorded by others.

 

Anything I can do to bring the Event log back to live?

tacview-signature-512x128x24.png
Link to comment
Share on other sites

Can you re-install Tacview 1.8.1 final, and try again to launch it again?

 

If it still launches Steam, can you give me the exact path you have used to launch Tacview64.exe ?

 

Can you also give me the list of files which are in the folder where Tacview64.exe is installed?

 

Hi,

 

Thanks for your reply.

 

 

If I go to the (standalone) Tacview folder installation and double click the 64-bit executable it prompts for the Steam version installation.

 

If I click the 32-bit Tacview executable, Tacview opens normally.

 

I never installed the Tacview Steam version on my PC (I even did not know of its existence until this prompt popped up and then read it on the official site).

 

I installed Tacview with the installer downloaded from the official site, as I have always done.

 

If I uninstall Tacview 1.8.1 and reinstall 1.8.0, it works normally (the 64-bit).

 

So I can't find where the problem lies and how to solve it.

 

May it be that my Steam is "hijacking" Tacview? Maybe is just my system.

 

 

Cheers!!!

tacview-signature-512x128x24.png
Link to comment
Share on other sites

Hi,

 

 

I did install Tacview 1.8.1 standalone again and the same happens:

 

Click on the 64-bit EXE and a prompt opens to install the Steam version;

 

Click on the 32-bit version and everything works OK.

 

 

I use a non-admin user for everything, with a non-default 'Documents' folder. Anyway I tested installing Tacview on the admin user (with a default 'Documents' folder) and the same happened.

 

DCS has 1.8.1 written on the Tacview thumbnail and the chat/messages when in mission also show Tacview 1.8.1 logging, so it is working properly in the background.

 

Cheers!

330170287_Tacview1.8.1folder.thumb.png.204146528278473b826f2cae8f42fdd5.png

Link to comment
Share on other sites

I believe that what you are looking for is in the Flight Log which you can find lower down in the same menu.

 

The Event Log will eventually replace the Flight Log, but it currently works only with real-life flight data. It is still a work in progress, so meanwhile you may want to stick with the Flight Log for DCS World.

Omg, I didn't knew that there are two different log windows... :doh:

Seems like I somehow replaced the flight log with the event log when I upgraded to 1.8.0...

Thanks a lot!

Intel i7-12700K @ 8x5GHz+4x3.8GHz + 32 GB DDR5 RAM + Nvidia Geforce RTX 2080 (8 GB VRAM) + M.2 SSD + Windows 10 64Bit

 

DCS Panavia Tornado (IDS) really needs to be a thing!

 

Tornado3 small.jpg

Link to comment
Share on other sites

Hi Captain Orso,

 

Disabling acmi file zip compression should prevent this.

 

DCS -> Options -> Special -> Tacview -> Compression level -> Not compressed

 

Hey thanks BuzyBee :smilewink:

When you hit the wrong button on take-off

hwl7xqL.gif

System Specs.

Spoiler
System board: MSI X670E ACE Memory: 64GB DDR5-6000 G.Skill Ripjaw System disk: Crucial P5 M.2 2TB
CPU: AMD Ryzen 7 7800X3D PSU: Corsair HX1200 PSU Monitor: ASUS MG279Q, 27"
CPU cooling: Noctua NH-D15S Graphics card: MSI RTX 3090Ti SuprimX VR: Oculus Rift CV1
 
Link to comment
Share on other sites

Thank you very much for the detailed feedback. I think I am starting to have an idea how you could get this behavior.

 

Can you tell me if there are any other folder than Steam which contains the dll steam_api64.dll on your system?

 

Hi,

 

 

I did install Tacview 1.8.1 standalone again and the same happens:

 

Click on the 64-bit EXE and a prompt opens to install the Steam version;

 

Click on the 32-bit version and everything works OK.

 

 

I use a non-admin user for everything, with a non-default 'Documents' folder. Anyway I tested installing Tacview on the admin user (with a default 'Documents' folder) and the same happened.

 

DCS has 1.8.1 written on the Tacview thumbnail and the chat/messages when in mission also show Tacview 1.8.1 logging, so it is working properly in the background.

 

Cheers!


Edited by Vyrtuoz
tacview-signature-512x128x24.png
Link to comment
Share on other sites

Thank you very much for the detailed feedback. I think I am starting to have an idea how you could get this behavior.

 

Can you tell me if there are any other folder than Steam which contains the dll steam_api64.dll on your system?

 

Here it goes.

733965908_SteamDLL.thumb.png.bc78704a124d0a4b3af04e5f336cca77.png

Link to comment
Share on other sites

Export to excel sheet doesn't seem to work well anymore

 

Back in the time( let's say version 1.7.3) when I could export telemetry to csv file directly from the chart window everything seemed to work fine. Export was at 0.25 secs rate and i could select units i wanted.

 

But since export telemetry entry in the menu was added(I think it was around version 1.8.5), I just can't seem to control anything anymore.

I select export main object (and i select a missile, for example), select parameters i want to save to csv file and select refresh rate.

So I get this messy csv file:

-With bunch of stuff I never selected/wanted(ISO time, Unix time, Id, Longitude, Latitude, Altitude, Roll, Pitch, Yaw, U, V, Heading)

-Speed(TAS) in m/s units (even though I had km/h set in tacview preview)

-Relative time in some weird intervals like 0.38,1.38,2.38 (instead of 0,1,2)

...

Am i missing something here or the export to csv feature is broken in late tacviews?

 

Attached and example of sheet I get with missile selected as object, and only TAS and relative time checked.

somemissilespeed.zip


Edited by DackSter94

LOOK MA, NO HOOK

Link to comment
Share on other sites

Yes, unfortunately, the DCS World function used to gather objects information is very CPU intensive. This is independent from the edition of Tacview you are using (the problem would be the same with similar addons such as LotAtc)

 

When Tacview exporter is active, after a flight, you double check that in your dcs.log file, and see the detail of what is taking so much time.

 

I have tested today with a mission containing about 250 objects and the Lua function GetWorldObjects takes about 16% of CPU, while Tacview code takes about 1.5%...

 

2019-12-09 20:36:34.056 INFO    TACVIEW.DLL: During the last 60.0s an average of 258 units objects and 36 ballistic objects have been active per frame
2019-12-09 20:36:34.056 INFO    TACVIEW.DLL: The average frame rate of 73.0fps would have been 88.7fps if the flight data recorder was disabled
2019-12-09 20:36:34.056 INFO    TACVIEW.DLL: DCS World simulation is taking 82.3% of CPU
2019-12-09 20:36:34.056 INFO    TACVIEW.DLL:  DCS GetWorldObjects is taking 16.3% of CPU
2019-12-09 20:36:34.056 INFO    TACVIEW.DLL:     Tacview recorder is taking  1.4% of CPU

 

I have optimized to the maximum Tacview exporter code (multithreaded C++), and there is no way around GetWorldObjects(), I must call it each frame to gather all objects data. For example, there is no way to split the current call into smaller multiple calls…

 

Hi,

is high lua cpu usage caused by TacView feature or bug? I don't remember if it was like that always.

 

Top is with Record Flight Data On

Bottom with Record Flight Data Off.

 

itDeDVD.png

 

I am now thinking about it is caused by TacView Advanced as it's my edition.

tacview-signature-512x128x24.png
Link to comment
Share on other sites

Hi DackSter94,

 

We made major improvements to the telemetry export in the past few updates. Currently you can export as many objects and as many parameters as you wish instead of being limited to 2 of each. You can also choose your own frame rate. Some of the most relevant details like latitude, longitude and altitude are automatically included in each export. Speed is displayed in m/s because those are the native units of Tacview and is easily convertible into any other units. Relative time is not always a round number, for example this could occur if the object did not exist at relative time 0. Usually the only thing that relative time would be used for is to perform further calculations such as speed and whether or not it's a round number wouldn't affect that.

 

I hope this helps clear things up.

 

Back in the time( let's say version 1.7.3) when I could export telemetry to csv file directly from the chart window everything seemed to work fine. Export was at 0.25 secs rate and i could select units i wanted.

 

But since export telemetry entry in the menu was added(I think it was around version 1.8.5), I just can't seem to control anything anymore.

I select export main object (and i select a missile, for example), select parameters i want to save to csv file and select refresh rate.

So I get this messy csv file:

-With bunch of stuff I never selected/wanted(ISO time, Unix time, Id, Longitude, Latitude, Altitude, Roll, Pitch, Yaw, U, V, Heading)

-Speed(TAS) in m/s units (even though I had km/h set in tacview preview)

-Relative time in some weird intervals like 0.38,1.38,2.38 (instead of 0,1,2)

...

Am i missing something here or the export to csv feature is broken in late tacviews?

 

Attached and example of sheet I get with missile selected as object, and only TAS and relative time checked.

Link to comment
Share on other sites

Holiday Sale from Dec 19th to Jan 5th: 40% off all Tacview editions!

 

Announcing Tacview's HOLIDAY SALE 2019: 40% off Tacview Standard and Advanced from December 19th, 2019 to January 5th, 2020 inclusive.

 

To upgrade your existing Standard license to Advanced at an equivalent discount, send us an email at support@tacview.net and we'll respond as soon as we can.

 

https://tacview.net/purchase/

 

1207727967650144257.png

1207727967650144257.png.dc01e4606e397e4f2508572a443bea38.png

Link to comment
Share on other sites

I have an issue: Today I have bought the advanced version of tacview on Steam, but when I double click on any acmi-file, then only a blank mission will be opened in tacview without the actual recording. It is still possible for me to open acmi-files within tacview by clicking File => Open, but that is cumbersome for me, because I have to close tacview every time I start another mission in DCS to save performance on my PC. Having to do all those additional clicks very often affects my workflow.

 

When I had the non-steam version of tacview, I was able to open acmi-files very easily by just double-clicking them in windows explorer. Also I was able to open multiple copies of tacview. Now I cannot do these stuff any more since I have the steamversion. Should I refund it or is there any fix for my problem?


Edited by Tiramisu
Link to comment
Share on other sites

plane disappear after i got hit by a missile even though im still flying. is there away to force the plane model visible even if you get hit?

 

I was merge in a tomcat. bandit manage to hit me with a missile but im still flying and manage to gun kill him. however my plane disappear after i got hit by the missile

Link to comment
Share on other sites

Hi Guys,

 

@Tiramisu

This was a bug specific to the Steam edition of Tacview 1.8.1, which has been fixed in the latest 1.8.2 betas. You can ask Steam to install the latest beta via Steam Library -> Tacview -> Properties -> Beta -> Beta branch let me know if this helps.

 

@wraith70

You can display the latitude/longitude of an object or a point on the ground via CTRL + SHIFT + Mouse Drag over the 3D view

 

Also, if the top/left date/time takes too much space in your screen, you can change the scale of it, via Settings -> UI-Scaling

 

@ustio

Whenever DCS judge an aircraft has been damaged "a lot", it removes it from the exported telemetry. Unfortunately, this is a limitation of DCS World, there is no way around it…

tacview-signature-512x128x24.png
Link to comment
Share on other sites

Hi Guys,

 

@Tiramisu

This was a bug specific to the Steam edition of Tacview 1.8.1, which has been fixed in the latest 1.8.2 betas. You can ask Steam to install the latest beta via Steam Library -> Tacview -> Properties -> Beta -> Beta branch let me know if this helps.

 

 

Hey, thanks for the update! It is good to see this bugfix, but it only works if Tacview is not already running. When it is running, then you still cannot open new acmi-files automatically by double clicking on them in the explorer. For me this is sometimes a problem, because Steam takes quite a while to close Tacview properly.

 

I have written a programm in C# to fix those problems even when tacview is running. If anyone is interested, you can see my code here and run it as a windows application (you would have to change the directories though, if you want to use it for your PC):

 

//No Copyright - Tiramisu 23. Dec 2019

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics; //for Process.Start
using System.Runtime.InteropServices; //for DllImport
using System.Windows.Forms; //for SendKeys
using System.Threading; //for Thread.Sleep


namespace TacviewEasyStart {
   class Program {

       //We will use this for the mouswheel commands:
       [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
       public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, IntPtr dwExtraInfo);
       private const int MOUSEEVENTF_WHEEL = 0x800; //0x800 is wheel movement

       //We will use this for finding the Tacview window and the open-file-dialog (see https://stackoverflow.com/questions/2531828/how-to-enumerate-all-windows-belonging-to-a-particular-process-using-net; code originally by Konstantin Spirin):
       [DllImport("USER32.DLL")]
       public static extern bool SetForegroundWindow(IntPtr hWnd);
       delegate bool EnumThreadDelegate(IntPtr hWnd, IntPtr lParam);
       [DllImport("user32.dll")]
       static extern bool EnumThreadWindows(int dwThreadId, EnumThreadDelegate lpfn, IntPtr lParam);
       static IEnumerable<IntPtr> EnumerateProcessWindowHandles(int processId) {
           var handles = new List<IntPtr>();
           try {
               //Console.WriteLine("Trying hard... ");
               foreach (ProcessThread thread in Process.GetProcessById(processId).Threads)
                   EnumThreadWindows(thread.Id, (hWnd, lParam) => { handles.Add(hWnd); return true; }, IntPtr.Zero);
               return handles;
           }
           catch (Exception) {
               //Console.WriteLine("ECPETION THROWN: No valid process running...");
               return handles;
           }            
       }
       private const uint WM_GETTEXT = 0x000D;
       [DllImport("user32.dll", CharSet = CharSet.Auto)]
       static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, StringBuilder lParam);
       [sTAThread]

       static void Main(string[] args) {
           if (args != null & args.Length >= 1 ) { 
               if (args[0] != null) {
                   //args[0] contans a path to the file do whatever you need to do to display it
                   string sFileDirectory = args[0];
                   /* Since we are going to paste the directory string directly instead of sending the string-characters one by one, we do not have to worry about special characters like "(" or ")"
                   sFileDirectory = sFileDirectory.Replace(")", "{)}");
                   sFileDirectory = sFileDirectory.Replace("(", "{(}"); 
                   */
                   string sTacviewDirectory = "G:\\Games\\steamapps\\common\\Tacview\\Tacview64.exe"; //TODO: Allow User Input
                   Process.Start(sTacviewDirectory);                    
                   Process[] CurrentProcesses = Process.GetProcessesByName("Tacview64"); //TODO: Make this variable more accessible

                   bool bDialogWindowOpen = false;
                   while( bDialogWindowOpen == false ) { //during this loop we set the tacview window in the foreground and later on the open-file-dialog;  afterwards this while-loop will end
                       if (CurrentProcesses.Length > 0) {
                           Thread.Sleep(50);
                           foreach (var handle in EnumerateProcessWindowHandles(CurrentProcesses.First().Id)) {
                               StringBuilder message = new StringBuilder(1000);
                               SendMessage(handle, WM_GETTEXT, message.Capacity, message);
                               string sMessage = message.ToString();
                               Console.WriteLine("sMessage " + sMessage);
                               string sTacviewMainWindow = "Tacview Advanced"; //TODO: Make this variable more accessible
                               if( sMessage.Contains(sTacviewMainWindow) ) { //If main window is open or has already been open
                                   SetForegroundWindow(handle);
                                   if( bDialogWindowOpen == false) {
                                       SendKeys.SendWait("^{o}");
                                   }                                    
                                   Console.WriteLine("Refocusing on Tacview Main Window!");
                               }
                               else if (sMessage == "Tacview") { //"Open File"-Dialog exists //TODO: Make this variable more accessible
                                   //Console.WriteLine(sMessage + " has been found"); 
                                   SetForegroundWindow(handle);
                                   string sCurrentClipboard = Clipboard.GetText();
                                   while (Clipboard.GetText() != sFileDirectory) {
                                       System.Windows.Forms.Clipboard.SetText(sFileDirectory, TextDataFormat.UnicodeText);
                                   }
                                   SendKeys.SendWait("^{v}" + "{ENTER}");
                                   Thread.Sleep(1000); //Wait until clipboard pasted correctly, before restoring old clipboard //TODO: Instead of Thread.Sleep check if open-file dialog is closed
                                   System.Windows.Forms.Clipboard.SetText(sCurrentClipboard, TextDataFormat.UnicodeText);
                                   bDialogWindowOpen = true;
                                   int iZoomLevel = 25;
                                   Thread.Sleep(1000);
                                   mouse_event(MOUSEEVENTF_WHEEL, 0, 0, iZoomLevel * 120, (IntPtr)0); //Zoom in
                                   SendKeys.SendWait("{F6}"); //Open Aircraft View 
                                   //SendKeys.SendWait("{SPACE}"); //Run Replay //does not work
                                   //Console.WriteLine("Inserting " + sFileDirectory); Thread.Sleep(32500);
                               }
                               else {
                                   //Console.WriteLine(sMessage + " has been found, but it is not the Open File Dialog"); 
                               }
                           }
                       }
                       else {
                           Console.WriteLine("ERROR: Tacview has not been found");
                           //Console.ReadKey(true); //this line could cause the programm being stuck here, so we uncomment it
                       }
                       CurrentProcesses = Process.GetProcessesByName("Tacview64"); //TODO: Make this variable more accessible
                   }
               }
               else {
                   //Start normally if opened file returns no string
               }
           }
           else {
               Console.WriteLine("ERROR: No String Array Input for the pathfile");
               Console.ReadKey(true);
           }
       }
   }
}

 

Btw. is there a way to use the steam-license to unlock the non-steam-license? I would like to display my flights in realtime on my notebook while DCS is running on my PC, because my PC has problems running Tacview and DCS at the same time and I would also like to use the second screen from my notebook. I am not sure how I could do that with the steamversion of tacview, because my DCS is also using Steam.

Thanks.


Edited by Tiramisu
Link to comment
Share on other sites

I have a Tacview 1.8.1 Standard.

About static objects that are created in the mission as target.

I do not see them when watching! I see all air defense objects, all airplanes, but there are no static objects-targets!

How to make them appear? Is it possible ..?

Окурок, выброшенный в урну, гораздо патриотичнее флажочка на автомобиле

TM Wartrhog Stick + VPC MongoosT-50Base + VPC TMW Extension 150mm / TM Wartrhog Throttle / CH Pro Pedals / 2-VPC Deck Mount / TrackIR5/

__________________________________________________________

i5-10600K Over to 5.0MHz/32GbDD4-3200/RTX4070/System-SSD1 DCS-SSD2/32" 2560x1440

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...