IOSS reader should read timesteps and metadata only when first loading data or when Reload Files is invoked
The IOSS reader for Exodus files is reading all times and other metadata every time a new timestep is loaded. This extra reading is unnecessary and should only be done when the first time step is loaded. A consequence of the current behavior is that this potentially adds a lot of unnecessary file seek time whenever a time step is changed.
We should assume that the time and meta data information is valid unless the user invokes the File -> Reload Files menu item. For the IOSS reader, a new instance of the reader will be created and time and metadata will be loaded anew.
Note that we still need to preserve the functionality of the Read All Files To Determine Structure property.
Steps to reproduce:
- Start ParaView, builtin server
- Load can.ex2
- In a debugger, set a breakpoint in
DatabaseIO::get_step_times__()
in/Users/cory.local/src/paraview/VTK/ThirdParty/ioss/vtkioss/exodus/Ioex_DatabaseIO.C
. - Click play in the animation controls
You will hit the breakpoint every time the timestep updates.