Forum Replies Created

Viewing 11 replies - 1 through 11 (of 11 total)
  • Forum: Plugins
    In reply to: [Canvas] Bad performance
    Thread Starter schwifty5

    (@schwifty5)

    Hi,

    was one of the latest updates relating to this issue? I’ve seen some improvements in performance with the latest update, thanks alot!

    Canvas, out of all the plugins I am currently running, seems to still be the plugin with the most impact on my sites performance though. It seems to be better now than before but maybe you can tweak it even a little bit more in the future to further improve on the performance. Otherwise great job, thank you very much!

    Forum: Plugins
    In reply to: [Canvas] Bad performance
    Thread Starter schwifty5

    (@schwifty5)

    Great! Thanks for the follow-up.

    Forum: Plugins
    In reply to: [Canvas] Bad performance
    Thread Starter schwifty5

    (@schwifty5)

    Is there any news regarding this issue?

    Forum: Plugins
    In reply to: [Canvas] Bad performance
    Thread Starter schwifty5

    (@schwifty5)

    Thanks for the quick reply! Really appreciate that!

    Please see attached images where you can see a performance profile. It is not really the ~1.5s mentioned because it was profiled on my local machine and probably cached, but you can see how the total initialization time takes 0.7551s where Canvas alone makes up for 0.7038s in the wp_head hook alone.

    Also on the init hook Canvas is making up for the bulk of the needed initialization time.

    On the third screen you can see some other Canvas hooks taking some time.

    View post on imgur.com

    View post on imgur.com

    View post on imgur.com

    Thanks alot!

    • This reply was modified 5 years, 12 months ago by schwifty5.
    Thread Starter schwifty5

    (@schwifty5)

    Nevermind, issue was solved. There was a action hook missing in my code for parse_query to resolve.

    Thread Starter schwifty5

    (@schwifty5)

    Thanks so much. Happy to leave you a very well deserved review.

    Thread Starter schwifty5

    (@schwifty5)

    Thank you, this has indeed solved the issue.

    The dispatch function of my controller now looks like this (is this the correct order / params?):

    
    function dispatch($bool, \WP $wp) {
            if ($this->checkRequest() && $this->matched instanceof Page) {
                global $wp_query;
                $this->loader->init($this->matched);
                $wp->virtual_page = $this->matched;
                do_action('parse_request', $wp);
                do_action('parse_query', $wp_query);
                $this->setupQuery();
                do_action('wp', $wp);
                $this->loader->load();
                $this->handleExit();
            }
            return $bool;
        }
    

    Thanks for that awesome and rapid support!

    Thread Starter schwifty5

    (@schwifty5)

    Index 7 of the stack trace is refering to this line btw: https://gist.github.com/gmazzap/1efe17a8cb573e19c086#file-controller-php-L34

    Thread Starter schwifty5

    (@schwifty5)

    I traced it to the lazyload part of powerkit:

    file: class-powerkit-lazyload-public.php
    line: 69

    
    /**
    	 * This conditional tag checks if Lazy Load allowed.
    	 *
    	 * @param array $attr Attributes for the image markup.
    	 */
    	public function is_enabled( $attr = array() ) {
    		if ( is_admin() || is_preview() ) {
    			return false;
    		}
    
    		// Check AMP endpoint.
    		if ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
    			return false;
    		}
    
    		// Check feed.
    		if ( is_feed() ) {
    			return false;
    		}
    
    		// Check printpage.
    		if ( get_query_var( 'print' ) || get_query_var( 'printpage' ) ) {
    			return false;
    		}
    
    		// Is filter disabled ?
    		if ( apply_filters( 'powerkit_lazyload_is_disabled', false, $attr ) ) {
    			return false;
    		}
    
    		// Is image disabled ?
    		if ( isset( $attr['class'] ) && preg_match( '/pk-lazyload-disabled/', $attr['class'] ) ) {
    			return false;
    		}
    
    		return true;
    	}
    
    
    Thread Starter schwifty5

    (@schwifty5)

    Hi,

    this is the stack trace for the php notice:

    [0] => Array(
    [function] => {closure}
    )
    
    [1] => Array(
    [file] => /var/www/html/web/wp/wp-includes/functions.php
    [line] => 4986
    [function] => trigger_error
    )
    
    [2] => Array(
    [file] => /var/www/html/web/app/plugins/amp/includes/amp-helper-functions.php
    [line] => 273
    [function] => _doing_it_wrong
    )
    
    [3] => Array(
    [file] => /var/www/html/web/app/plugins/amp/amp.php
    [line] => 454
    [function] => is_amp_endpoint
    )
    
    [4] => Array(
    [file] => /var/www/html/web/wp/wp-includes/class-wp-hook.php
    [line] => 288
    [function] => amp_maybe_add_actions
    )
    
    [5] => Array
            (
                [file] => /var/www/html/web/wp/wp-includes/class-wp-hook.php
                [line] => 312
                [function] => apply_filters
    )
    
    [6] => Array(
    [file] => /var/www/html/web/wp/wp-includes/plugin.php
    [line] => 478
    [function] => do_action
    )
    
    [7] => Array
            (
                [file] => /var/www/html/web/app/mu-plugins/plugin-name/includes/Core/VirtualPages/Controller.class.php
                [line] => 31
                [function] => do_action
    )
    
    [8] => Array
            (
                [file] => /var/www/html/web/wp/wp-includes/class-wp-hook.php
                [line] => 290
                [function] => dispatch
    )
    
    [9] => Array
            (
                [file] => /var/www/html/web/wp/wp-includes/plugin.php
                [line] => 206
                [function] => apply_filters
    )
    
    [10] => Array
            (
                [file] => /var/www/html/web/wp/wp-includes/class-wp.php
                [line] => 145
                [function] => apply_filters
    )
    
    [11] => Array
            (
                [file] => /var/www/html/web/wp/wp-includes/class-wp.php
                [line] => 729
                [function] => parse_request
    )
    
    [12] => Array
            (
                [file] => /var/www/html/web/wp/wp-includes/functions.php
                [line] => 1255
                [function] => main
    )
    
    [13] => Array
            (
                [file] => /var/www/html/web/wp/wp-blog-header.php
                [line] => 16
                [function] => wp
    )
    
    [14] => Array
            (
                [file] => /var/www/html/web/index.php
                [line] => 5
                [function] => require
    )
    

    I already disabled every plugin (except AMP Plugin) and switched the theme (even though it doesnt contain any is_amp_endpoint() call anyways.

    I redacted the args of the stack trace for readability and to prevent leaking of sensible data. If you need the full stack trace with arguments please let me know how to share it with you privately.

    If you are wondering about the file paths: They are from my WP Bedrock setup, but this should not cause the issue here.

    // Edit: Added all steps of stack trace, previous one was truncated.

    • This reply was modified 6 years, 3 months ago by schwifty5.
    Thread Starter schwifty5

    (@schwifty5)

    The early function call is not in my code, it probably is in the AMP plugin itself?

Viewing 11 replies - 1 through 11 (of 11 total)