Speaking generally, given a time critical module and an MCU (act as buffer).

If we look the datasheet of module, and we know the timing diagram. Then, it's possible we can read the module through ISR in MCU and then forward the data to another device.

For example, OV7670 camera module timing diagram below, for RGB565 format where one pixel is two bytes.
[![enter image description here][2]][2]

Then, for the MCU (act as buffer) has job forwarding any incoming data from camera into advanced device (e.g. server) through an interface (e.g. WiFi/UDP).

For example, esp8266 that has built-in WiFi and programmable, can be programmed with many ISR function definitions and relied on initialization. Hence, there is no need / less main loop needed.
Like this pseudocode:
```
// camera pinout
uint8 D; //D0-D7

// auxiliary var
uint8 D_BUF[1024]; // to store data
uint16 BUFF_COUNTER; // buffer indexer

void isr_d0_to_gpio0_on_rising(){
// perform bitwise operation (OR-ing with 1) of D at bit0
}

// Similar to isr_d1_to_gpio1_on_rising and so on

void isr_pclk_gpio8_on_falling(){
 D_BUF[BUFFER_COUNTER] = D;
 BUFFER_COUNTER++;
 D = 0; // reset all 8-bit to zero
}

void setup(){
 // init wifi, camera res, camera format, etc

 // attach interrupt
 attachInterrupt(GPIO0, isr_d0_to_gpio0_on_rising, RISING);
 // do same for d1-d7
 attachInterrupt(GPIO8, isr_pclk_gpio8_on_falling(), FALLING);
}

void loop(){
 if BUFFER_COUNTER > 512:
 // transmit current buffer pass through with length approx 512 bytes into server
 transmitDataUDP(&D_BUF, BUFFER_COUNTER, SERVER_IP, SERVER_PORT);
 BUFFER_COUNTER=0;
 }
}

```

So, does it mean relied on many ISR mainly hardware interrupt can benefial faster data transmission? Assume external factor such as gateway or router used is fine so the network is reliable.


 [2]: https://i.sstatic.net/MTXj9apB.jpg