Ahora que se han puesto de moda las remasterizaciones, en general, toca atender a una de esas licencias que sin comerlo ni beberlo se ha hecho protagonista de la actualidad. Estamos hablando de Saints Row, que aunque su próximo título tardará en darse a conocer, ya se encuentra disponible la versión remasterizada de Saints Row The Third Remastered. ¿Cómo le ha sentado esta remasterización? Para ello, no hay mejor manera de analizarlo que atendiendo a un vídeo en el que comparan el rendimiento de Saints Row The Third Remastered en todas las consolas.
El canal VGTech de Youtube ha querido deleitarnos con una comparativa directa. Y nos podemos dar cuenta de que el rendimiento de Saints Row The Third Remastered en todas las consolas resulta un tanto irregular, donde se busca mantener un rendimiento constante en cada subtipo, pero no con el mismo resultado.
Lo primero es atender a las resoluciones, donde las consolas base ejecutan el juego a 1080p, es decir, 1920×1080. Una resolución que parece no estar vinculada a ningún tipo de reescalado dinámico para poder mantener el rendimiento. No pasa lo mismo en el caso de las consolas más potentes. Xbox One X corre a 4K, pero no de forma nativa, sino reescalando desde los 1440p, es decir, una resolución de 2560×1440. En el caso de Playstation 4 Pro, la resolución no busca alcanzar esa misma cifra, de hecho, realiza un downsampling desde los 1440p a los 1080p.
El rendimiento del juego en las consolas base se mantiene bastante estable en torno a los 30fps, donde la Playstation 4 logra ofrecer un rendimiento superior y más estable que Xbox One. Pero este rendimiento es mucho menos estable en las consolas más potentes. Si bien, en el caso de Xbox One X este se suele mantener bien en torno a los 55-60fps, hay algunos momentos en los que llega a estar por debajo de los 50fps. En el caso de la Playstation 4 Pro, resulta que no llega a superar los 50fps, llegando a estar por debajo de los 40fps en esas mismas escenas en las que se exige más. De hecho, llega a estar a la par de su hermana menor en algunas fases del juego, rondando los 40fps.
Saints Row The Third Remastered deberá de intentar ajustar esas variaciones en la tasa de frames que se producen en las consolas más potentes, mientras disfruta de haber hecho un buen trabajo con las consolas base, si su objetivo era que estuviesen por encima de los 30fps. El juego ya se encuentra disponible en Xbox One, Playstation 4 y PC, del que podéis saber todo gracias al completo análisis que os hemos presentado.
jQuery(this).parent().siblings('.rating-value').html( rating ); } });
//HD images if (window.devicePixelRatio == 2) { var images = jQuery("img.hires"); // loop through the images and make them hi-res for(var i = 0; i < images.length; i++) { // create new image name var imageType = images[i].src.substr(-4); var imageName = images[i].src.substr(0, images[i].src.length - 4); imageName += "@2x" + imageType; //rename image images[i].src = imageName; } } jQuery('a.featured-image').colorbox(); jQuery('.colorbox').colorbox(); jQuery(".the-content a[href$='.jpg'],a[href$='.png'],a[href$='.gif']").colorbox(); jQuery('.the-content .gallery a').colorbox({rel:'gallery'}); //placeholder text for IE9 jQuery('input, textarea').placeholder(); //insert content menu items jQuery(jQuery('#content-anchor-inner').find('.content-section-divider').get().reverse()).each(function () { var id = jQuery(this).attr('id'); var label = jQuery(this).data('label'); jQuery( '#content-anchor-wrapper' ).after( '
' ); });
var fromTop = 119; //attach scrollspy jQuery('body').scrollspy({ target: '.contents-menu', offset: fromTop });
//functions that need to run after ajax buttons are clicked dynamicElements();
//menu hover fx menuHovers();
});
//applied to elements within ajax panels function dynamicElements() { //portholes mouseovers jQuery(".portholes .porthole-link").hover( function() { jQuery(this).siblings(".porthole-color").stop().animate({ 'opacity':'.8' }, 150); jQuery(this).siblings(".porthole-layer").stop().animate({ 'opacity':'0' }, 350); jQuery(this).siblings(".porthole-info").find(".rating-wrapper").stop().animate({ 'opacity':'.9' }, 100); jQuery(this).siblings(".porthole-info").stop().delay(0).queue(function(next){ jQuery(this).addClass("active"); next(); }); }, function() { jQuery(this).siblings(".porthole-color").stop().animate({ 'opacity':'0' }, 550); jQuery(this).siblings(".porthole-layer").stop().animate({ 'opacity':'.9' }, 250); jQuery(this).siblings(".porthole-info").find(".rating-wrapper").stop().animate({ 'opacity':'0' }, 550); jQuery(this).siblings(".porthole-info").stop().delay(150).queue(function(next){ jQuery(this).removeClass("active"); next(); }); } ); //active hover jQuery(".add-active").hover( function() { jQuery(this).addClass("active"); }, function() { jQuery(this).removeClass("active"); } ); //image hovers jQuery(".active-image").hover( function() { jQuery(this).find('img').stop().animate({ opacity: .4 }, 150); }, function() { jQuery(this).find('img').stop().animate({ opacity: 1.0 }, 500); } ); jQuery(".the_content").hover( function() { jQuery(this).find('img').stop().animate({ opacity: .4 }, 150); }, function() { jQuery(this).find('img').stop().animate({ opacity: 1.0 }, 500); } ); //jQuery tooltips jQuery('.info').tooltip(); jQuery('.info-top').tooltip(); jQuery('.info-bottom').tooltip({ placement: 'bottom' }); jQuery('.info-left').tooltip({ placement: 'left' }); jQuery('.info-right').tooltip({ placement: 'right' }); //jQuery popovers jQuery('.popthis').popover(); //jQuery alert dismissals jQuery(".alert").alert(); //jQuery fitvids jQuery('.video_frame').fitVids(); //equal height columns equalHeightColumns(jQuery(".widget-panel")); equalHeightColumns(jQuery(".loop.grid .article-panel")); //if items are dynamically added on page load, need to account for new width resizeContentsMenu(); resizeStickyMenu(); }
//call equal height columns when window is resized jQuery(window).resize(function() { equalHeightColumns(jQuery(".widget-panel")); equalHeightColumns(jQuery(".loop.grid .article-panel")); resizeContentsMenu(); resizeStickyMenu(); });
//call equal height columns when widgets is resized jQuery("#widgets").resize(function(e){ equalHeightColumns(jQuery(".widget-panel")); });
//call equal height columns when main menu items are hovered since sub menus are //hidden and don't have heights until visible jQuery('body').on('mouseover', '#section-menu-full a.parent-item', function(e){ equalHeightColumns(jQuery("#section-menu-full ul.term-list, #section-menu-full li.post-list"), true); }); //equal height columns function equalHeightColumns(group, nolimit) { tallest = 0; width = jQuery(window).width(); group.each(function() { jQuery(this).removeAttr('style'); thisHeight = jQuery(this).height(); if(thisHeight > tallest) { tallest = thisHeight; } }); if(width > 991 || nolimit) { group.height(tallest); } }
var topOffset = 70; var barOffset = 208;
jQuery(window).scroll(function() { if (jQuery(this).scrollTop() > 110) { jQuery('#sticky-bar').addClass('fixed'); jQuery('#sticky-bar.logo-slide .logo a').stop().animate({ opacity: 1.0, left: '0px' }, 100); } else { if(!jQuery('#sticky-menu').is(':visible') && !jQuery("https://www.somosxbox.com/#section-menu-mobile").is(':visible')) { jQuery('#sticky-bar').removeClass('fixed'); jQuery('#sticky-bar.logo-slide .logo a').stop().animate({ opacity: 0, left: '-100px' }, 500); } } if(jQuery(this).scrollTop() > 44) { jQuery('#sticky-bar').addClass('sticky-mobile'); } else { jQuery('#sticky-bar').removeClass('sticky-mobile'); }
//back to top arrow if (jQuery(this).scrollTop() < 150) { jQuery("#back-to-top").fadeOut(); } else { jQuery("#back-to-top").fadeIn(); } resizeContentsMenu(); resizeStickyMenu(); }); function resizeStickyMenu() { //see if compact versions of menus should be shown if(jQuery('#section-menu-full').length > 0) { var megaWidth = jQuery('.mega-menu').width(); if(jQuery('.mega-menu').length == 0) { var megaWidth = jQuery('.non-mega-menu').width(); } var standardWidth = jQuery('.secondary-menu-full').width(); var compactWidth = jQuery('.secondary-menu-compact').width(); var menusWidth = megaWidth + standardWidth; var compactMenusWidth = megaWidth + compactWidth; var logoWidth = jQuery('#sticky-bar .logo').width(); //var logoLeft = jQuery('#sticky-bar .logo').offset(); //logoWidth = logoWidth + logoLeft.left; var newWidth = jQuery('#new-articles').width(); var stickyWidth = jQuery('#sticky-menu-selector').width(); var randomWidth = jQuery('#random-article').width(); var controlsWidth = jQuery('#sticky-controls').width(); var barWidth = jQuery('#sticky-bar > .row > .col-md-12 > .container').width(); if(barWidth === null) barWidth = jQuery('#sticky-bar > .row > .col-xs-12 > .container').width(); var extraWidth = logoWidth + newWidth + stickyWidth + randomWidth + controlsWidth; var limitWidth = barWidth - extraWidth; //alert('megaWidth=" + megaWidth + "nstandardWidth=" + standardWidth + "nmenusWidth=" + menusWidth + "nlogoWidth=" + logoWidth + "nnewWidth=" + newWidth + "nstickyWidth=" + stickyWidth + "nrandomWidth=" + randomWidth + "ncontrolsWidth=" + controlsWidth + "nbarWidth=" + barWidth + "nextraWidth=" + extraWidth + "nlimitWidth=" + limitWidth); //mega menu alone passes limit if(megaWidth > limitWidth) { jQuery("#section-menu-full').hide(); jQuery('#section-menu-compact').show(); } //standard menu alone passes limit if(standardWidth > limitWidth) { jQuery('.secondary-menu-full').hide(); jQuery('.secondary-menu-compact').show(); } //both menus together pass limit if(menusWidth > limitWidth) { //first reduce standard menu jQuery('.secondary-menu-full').hide(); jQuery('.secondary-menu-compact').show(); //compact standard plus mega menu pass limit if(compactMenusWidth > limitWidth) { jQuery('#section-menu-full').hide(); jQuery('#section-menu-compact').show(); } } } }
function resizeContentsMenu() { //bookmark positioning if(jQuery('.contents-menu-wrapper').length > 0) { var menuOffset = jQuery('.contents-menu-wrapper').offset().top - topOffset; var newWidth = jQuery('.contents-menu-wrapper').width() - 2; var btnWidth = jQuery('.contents-menu-wrapper ul.sort-buttons').width(); var lblWidth = jQuery('.contents-menu-wrapper .bar-label-wrapper').width(); var wrapperWidth = jQuery('#main-content').width() - 2; var barWidth = btnWidth + lblWidth; if (barWidth > wrapperWidth) { jQuery('.contents-menu-wrapper').addClass('vertical'); } if (!jQuery('.contents-menu-wrapper').hasClass('vertical') && jQuery(this).scrollTop() > menuOffset) { jQuery('.contents-menu').addClass('fixed').width(newWidth); } else { jQuery('.contents-menu').removeClass('fixed').removeAttr('style'); } //show the menu after scrolling and hide after a while (only for vertical layout) if(jQuery('.contents-menu-wrapper').hasClass('vertical')) { if(!jQuery('.contents-menu-wrapper').is(':visible')) { jQuery('.contents-menu-wrapper').stop().fadeIn(100); } } } if(jQuery('.contents-menu-wrapper').hasClass('vertical')) { var newOffset = 68; jQuery('body').data()['bs.scrollspy'].options.offset = newOffset; // Set the new offset jQuery('body').data()['bs.scrollspy'].process(); // Force scrollspy to recalculate the offsets to your targets jQuery('body').scrollspy('refresh'); // Refresh the scrollspy. } }
//if disqus is active need to adjust anchor link from comments to disqus thread function disqusContentsMenu() { if (jQuery("#disqus_thread").length > 0){ jQuery("#comments-anchor-wrapper a").attr("href", "#disqus_thread"); } }
//hide contents menu 2 seconds after scrolling has stopped (function() { var timer; jQuery(window).bind('scroll',function () { clearTimeout(timer); timer = setTimeout( refresh , 1800 ); }); var refresh = function () { //only want to do this for vertical style and only if mouse is not currently hovering over the menu if(jQuery('.contents-menu-wrapper').hasClass('vertical') && jQuery('.contents-menu-wrapper:hover').length == 0) { jQuery('.contents-menu-wrapper').fadeOut(1200); } }; })();
//hide contents menu after user mouses out (function() { var timer; jQuery('body').on('mouseenter', '.contents-menu-wrapper.vertical', function(e) { jQuery('.contents-menu-wrapper').stop(true, true).fadeIn(100); clearTimeout(timer); }); jQuery('body').on('mouseleave', '.contents-menu-wrapper.vertical', function(e) { clearTimeout(timer); timer = setTimeout( refresh , 1800 ); }); var refresh = function () { //only want to do this for vertical style and only if mouse is not currently hovering over the menu if(jQuery('.contents-menu-wrapper').hasClass('vertical') && jQuery('.contents-menu-wrapper:hover').length == 0) { jQuery('.contents-menu-wrapper').fadeOut(1200); } }; })();
/** * Check a href for an anchor. If exists, and in document, scroll to it. * If href argument ommited, assumes context (this) is HTML Element, * which will be the case when invoked by jQuery after an event */ function scroll_if_anchor(href) { href = typeof(href) == "string" ? href : jQuery(this).attr("href");
//do not interfere with bootstrap carousels if(jQuery(href).length > 0 && !jQuery(this).hasClass('no-scroll')) { var fromTop = 118;
//subtract contents menu height (and margin) if(jQuery('.contents-menu-wrapper').hasClass('vertical')) { fromTop = fromTop - 51; }
// If our Href points to a valid, non-empty anchor, and is on the same page (e.g. #foo) // Legacy jQuery and IE7 may have issues: http://stackoverflow.com/q/1593174 if(href.indexOf("https://www.somosxbox.com/#") == 0) { var $target = jQuery(href);
// Older browser without pushState might flicker here, as they momentarily // jump to the wrong position (IE < 10) if($target.length) { jQuery('html, body').animate({ scrollTop: $target.offset().top - fromTop }); if(history && "pushState" in history) { history.pushState({}, document.title, window.location.pathname + href); return false; } } } } } // When our page loads, check to see if it contains an anchor scroll_if_anchor(window.location.hash); // Intercept all anchor clicks jQuery("body").on("click", "a", scroll_if_anchor); //menu hovers function menuHovers() { jQuery(".menu .post-list a").hover( function() { jQuery(this).children('img').stop().animate({ opacity: .3 }, 150); }, function() { jQuery(this).children('img').stop().animate({ opacity: 1.0 }, 500); } ); } //new articles effects jQuery("#new-articles .selector").hover( function() { jQuery(this).addClass('over'); }, function() { jQuery(this).removeClass('over'); } ); jQuery("#new-articles .selector").click(function() { jQuery('#new-articles .post-container').animate({ height: 'toggle' }, 100, 'linear' ); jQuery(this).toggleClass('active'); }); //show search box jQuery("#menu-search-button").hover( function() { jQuery(this).toggleClass('hover'); } ); jQuery("#menu-search-button").click( function() { jQuery('#menu-search').fadeToggle("fast"); jQuery(this).toggleClass('active'); } ); //hide superfish more drop down on mobile if clicked again jQuery("#secondary-menu-selector").click( function() { if(jQuery('.secondary-menu-compact ul.menu').is(':visible')) { jQuery('.secondary-menu-compact ul.menu').hide(); } } ); //search form submission jQuery("#searchformtop input").keypress(function(event) { if (event.which == 13) { event.preventDefault(); var len = jQuery("#s").val().length; if(len >=3) { jQuery("#searchformtop").submit(); } else { alert("Search term must be at least 3 characters in length"); } } }); //email subscribe form submission jQuery("#feedburner_subscribe button").click(function() { jQuery("#feedburner_subscribe").submit(); }); //show login form jQuery("#sticky-login").click(function() { jQuery('#sticky-login-form').animate({ height: 'toggle' }, 100, 'linear' ); jQuery('#sticky-register-form').hide(); jQuery('#sticky-register').removeClass('active'); jQuery(this).toggleClass('active'); }); //show register form jQuery("#sticky-register").click(function() { jQuery('#sticky-register-form').animate({ height: 'toggle' }, 100, 'linear' ); jQuery('#sticky-login-form').hide(); jQuery('#sticky-login').removeClass('active'); jQuery(this).toggleClass('active'); }); //submit button hover effects jQuery(".sticky-submit").hover(function() { jQuery(this).toggleClass("active"); }); //login form submission jQuery(".sticky-login-form #user_pass").keypress(function(event) { if (event.which == 13) { jQuery("#sticky-login-form .loading").show(); jQuery("form.sticky-login-form").animate({opacity: "0.15"}, 0); event.preventDefault(); jQuery(".sticky-login-form").submit(); } }); jQuery("#sticky-login-submit").click(function() { jQuery("#sticky-login-form .loading").show(); jQuery("form.sticky-login-form").animate({opacity: "0.15"}, 0); jQuery(".sticky-login-form").submit(); }); //register form submission jQuery(".sticky-register-form #user_email").keypress(function(event) { if (event.which == 13) { jQuery("#sticky-register-form .loading").show(); jQuery("form.sticky-register-form").animate({opacity: "0.15"}, 0); event.preventDefault(); jQuery(".sticky-register-form").submit(); } }); jQuery("#sticky-register-submit").click(function() { jQuery("#sticky-register-form .loading").show(); jQuery("form.sticky-register-form").animate({opacity: "0.15"}, 0); jQuery(".sticky-register-form").submit(); }); //hide check password message jQuery(".check-password").click(function() { jQuery(this).animate({ height: 'toggle' }, 100, 'linear' ); }); //scroll all #top elements to top jQuery("a[href="https://www.somosxbox.com/#top"]").click(function() { jQuery("html, body").animate({ scrollTop: 0 }, "slow"); return false; }); //image darkening jQuery('body').on('mouseenter', '.darken', function(e) { jQuery(this).find('img').stop().animate({ opacity: .4 }, 150); }).on('mouseleave', '.darken', function(e) { jQuery(this).find('img').stop().animate({ opacity: 1.0 }, 500); }); //reaction mouseovers jQuery('body').on('mouseenter', '.reaction.clickable', function(e) { jQuery(this).addClass('active'); }).on('mouseleave', '.reaction', function(e) { jQuery(this).removeClass('active'); }); // user rating panel display jQuery('body').on('mouseover', '.user-rating .rating-wrapper.rateable', function(e) { jQuery(this).addClass('over'); jQuery(this).find('.form-selector-wrapper').fadeIn(100); }); jQuery('body').on('mouseleave', '.user-rating .rating-wrapper', function(e) { jQuery(this).stop().delay(100) .queue(function(n) { jQuery(this).removeClass('over'); n(); }); jQuery(this).find('.form-selector-wrapper').stop().fadeOut(500); }); // user comment rating panel display jQuery('body').on('mouseover', '#respond .rating-wrapper.rateable', function(e) { jQuery(this).addClass('over'); jQuery(this).find('.form-selector-wrapper').fadeIn(100); }); jQuery('body').on('mouseleave', '#respond .rating-wrapper', function(e) { jQuery(this).stop().delay(100) .queue(function(n) { jQuery(this).removeClass('over'); n(); }); jQuery(this).find('.form-selector-wrapper').stop().fadeOut(500); }); // user comment rating jQuery( "#respond .form-selector" ).on( "slidestop", function( event, ui ) { var divID = jQuery(this).parent().parent().parent().attr("id"); var rating = jQuery(this).parent().siblings('.rating-value').html(); jQuery("https://www.somosxbox.com/#" + divID + ' .theme-icon-check').delay(100).fadeIn(100); jQuery("https://www.somosxbox.com/#" + divID + ' .hidden-rating-value').val(rating); });
//pinterest if(jQuery('#pinterest-social-tab').length > 0) { (function(d){ var f = d.getElementsByTagName('SCRIPT')[0], p = d.createElement('SCRIPT'); p.type="text/javascript"; p.async = true; p.src="https://assets.pinterest.com/js/pinit.js"; f.parentNode.insertBefore(p, f); }(document)); }
//facebook if(jQuery('#facebook-social-tab').length > 0) { (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); }
//WINDOW.LOAD jQuery(window).load(function() {
//flickr if(jQuery('#flickr-social-tab').length > 0) { jQuery('.flickr').jflickrfeed({ limit: 9, qstrings: { id: '' }, itemTemplate: '
' }, function(data) { }); }
//tabs - these must go in window.load so pinterest will work inside a tab jQuery('.widgets-wrapper .it-social-tabs').tabs({ fx: { opacity: 'toggle', duration: 150 } }); jQuery('#footer .it-social-tabs').tabs({ active: 2, fx: { opacity: 'toggle', duration: 150 } }); jQuery('.share-wrapper').show(); equalHeightColumns(jQuery(".loop.grid .article-panel")); disqusContentsMenu();
//show ads after mmenu is setup because it wraps the page in a div //causing google adsense to reload jQuery('.it-ad').animate({opacity: '1'}, 0);
});
jQuery.noConflict();