What is the maximum texture resolution to choose?

Hi all!

I am using Cocos Creator version 3.8.8.

The build will be done for the following platforms: web-desktop, web-mobile and Android (possibly also iOS). Basically, I want to support a wide range of devices. This raises several questions:

What is the maximum texture resolution I should use? I can’t decide between 2048x2048 and 4096x4096. It seems like 4096x4096 should theoretically work everywhere, but the recommendation in the Phaser.js documentation is alarming:

2048px for mobile and 4096px for desktop should be safe.

Does the texture size necessarily have to be a power of two? As far as I understand, this is not necessary, but desirable for better performance.

Should the texture be square? As far as I understand, the sides do not have to be the same size and this does not affect performance.

In general, I myself have always leaned towards 2048x2048 as the maximum texture size (however, in this project I was given very large textures).