The weakness of the current DataSubscriber is that each instance can only subscribe to a single element. The DataSubscriber is essentially a BasicLabel with the visual parts removed. The drivers do not allow subscriptions to multiple elements of an array(not until version 4).
In your scenario, the fastest update would be to move your PREs and ACCs into an array in the PLC, then read the complete array with BeginRead and getting the resulting data in the DataReceived event:
'* Initiate the asynchronous read
EthernetIPforCLXCom1.BeginRead("MyArray[0]",100)
Private Sub EthernetIPforCLXCom1_DataReceived(sender As System.Object, e As MfgControl.AdvancedHMI.Drivers.Common.PlcComEventArgs) Handles EthernetIPforCLXCom1.DataReceived
If e.PlcAddress = "MyArray[0]" And e.Values.Count >= 100 Then
'* process the data......
e.Values.CopyTo(0, ArrayOfPre, 0, 50)
e.Values.CopyTo(50, ArrayOfAcc, 0, 50)
End If
End Sub