WooCommerce POS is a single-page javascript web application which communicates to your server via the WooCommerce REST API. Performance issues can be separated into two categories; server-side and clients-side.
Server-side Performance
Server-side performance refers to actions such as downloading a page of products (10 products), or processing an order. Issues which can affect the speed of such actions include:
The speed of your internet connection
The speed of your server, ie: processing power, RAM, server load etc
How many plugins you have active
Payment gateway processing
The demo site represents a 'best case' senario. The demo site uses a very good web host and has a very small number of plugins activated.
Now, use the POS to see if there is a performance increase
5.
If there is a performance increase: reactivate your theme and plugins one-by-one to see which plugin is impacting your performance
6.
If there is no performance increase: you may want to move to a better web host or invest in a faster internet connection
Client-side Performance
WooCommerce POS uses JavaScript, HTML and CSS to display the data retrieved from the WooCommerce REST API, ie: products and orders. To improve client-side performance the POS stores the data in the browser using IndexedDB. For example, when a product is fetched for the first time a request will be sent to the server, once the product data is downloaded it will be stored locally so that subsequent searches are instantaneous.
An example of products being stored locally
IndexedDB data persists even when you close the browser or restart your computer. If you notice that your product data is out of sync for any reason, you can clear the local storage and fetch a fresh set of data from the server.