I am making a racing game, so high FPS should be achieved. This is what I typically get
(actually, when I am not recording the screen it runs at 15 FPS which is reasonably playable, the problem is much more severe when I split the screen for 2,3,4 players using setscissors for rendering - and so - FPS drops linearly by the number of players).
I am running this on a laptop i7 1065G7 4 cores - and chrome is running this on Nvidia GeForce MX 330.
I don’t think this is relevant for the performance but let me write how I actually render the scene. The main render is from phaser3 which uses a canvas texture to show the image with 3D render from three.js. (three.js renders to another canvas which is then copied to phaser canvas texture). Phaser’s update is running at 60 FPS and inside it I call three.js render if the time elapsed from the last three.js render is larger than 40 ms.
As I said I don’t think that this impacts performance because I get almost identical results if I do not do any of this crazy copying stuff - I just render with three.js to canvas.