How to pause the game with PhysX

It seems that in physX we are not allowed to pass a time of zero to the simulate() function. What can we do to pause the game?
Our game is paused when loading, so:

if( isPaused() )
	{
		return;
	}
	scene->simulate( time );

This causes the game to never load, because the physics objects will never be created.

if( isPaused() )
	{
		time = 0.0f;
	}
	scene->simulate( time );

What we used to do in PhysX 2.8.4. This causes the game to lock up on fetchResults()

if( isPaused() )
	{
		time = 0.00000001f;
	}
	scene->simulate( time );

This is the only way that works for us, but it means physics objects move slowly when paused, and sometimes explode when un-paused

The first option seems like it is the correct thing to do.

This causes the game to never load, because the physics objects will never be created.

Can you provide more details about this? Not ticking PhysX shouldn’t stop you from creating physics objects. You create them in your game code, add them to the scene and you can interact with them. Scene queries should hit against them. However, they won’t move and you won’t get any event notifications until after you unpause and simulate the scene.