I am right now profiling and debugging a new theme we are developing. I use the shopify chrome extension to get details about the time spent on code fragments.
I noticed that our new theme (in development environment, separate dev store) is using renderer "Rendering back-end: core". Seems that the storefront-renderer is much faster.
See official statement here https://www.shopify.com/enterprise/reunite
It seems our store uses different render engines per page. Thats why I am asking. Have no idea on how to isolate the problem any further. Advice on that would be welcomed.
My name is Maxime, I'm a software developer at Shopify. I'm on the team that works on the new storefront rendering engine. Thanks for your patience!
The Storefront Renderer is a server-side application that loads a Shopify merchant's storefront Liquid theme, along with the data required to serve the request (for example product data, collection data, inventory information, and images), and returns the storefront response back to the client's browser. It's a complete rewrite of the legacy rendering engine implementation (the "core" rendering engine).
Now I am wondering how shopify decides to use which render engine. core vs. storefront-renderer?
We wrote a blog post explaining this in details here: https://shopify.engineering/how-shopify-reduced-storefront-response-times-rewrite
Are there specific liquid elements which trigger the use of a specific engine?
Specific Liquid elements do not affect the choice of the rendering engine internally.
How can I force the new storefront-renderer?
Today, nearly all storefront requests are served by the new rendering engine. No need to force anything: we're hard at work to provide the best performance possible for all storefronts across the platform. We covered how we're optimizing server-side rendering performance in this other blog post: https://shopify.engineering/simplify-batch-cache-optimized-server-side-storefront-rendering
I hope this helps!