Here is a simple schematic of the engine.

The increase in angular momentum of the crankshaft in one complete cycle would be
$\Delta L_{cycle}=\int_{\delta =0}^{\delta =4 \pi} F cos \theta Rdt$.
where F is positive in combustion stroke and negative in other strokes (as L increases only in the combustion stroke and decreases in other strokes where work is done by the piston to draw in air-fuel mixture, compress the mixture, or expel exhaust gas). Also note, F would be different for each value of from 0 to 4.
The torque generated by the engine would then be $$\tau = \frac{\Delta L_{cycle}}{\Delta t_{cycle}}$$
Now, let's see what happens when the angular velocity (ω) of the crankshaft is doubled.
Any force F specific for an angle would then act on the crankshaft for only half the period of time (i.e., dt for each angle gets halved). As a result, the increment in angular momentum of the crankshaft in one complete cycle gets halved. However, since the time period of each cycle has halved as well, the torque generated by the engine should theoretically be the same regardless of the rpm of the engine. This would result in the following torque-rpm graph.
However, we know that this is not the case. The actual graph looks something like this.
The dip in torque is easy to explain as with increasing rpm one can expect several losses to increase such as frictional losses, pumping losses, inefficient charge mixing, decreased time for efficient combustion etc. But my question is, what explains the increase in torque with angular velocity at the low rpm range?


