Delay when calling SKLabelNode?

I have a problem with a slight delay (lag) when switching from one SKSceneto another. Commenting on various bits of the code, I narrowed it down to SKLabelNode, I assume that it is loading / caching the font when called, which leads to a slight delay / stutter when specifying a new one SKScene.

Has anyone else noticed this, it is less obvious when you just use a single one SKScene(for example, the default template), since the slowdown is simply lost with the usual delay in starting. Does anyone know a way around this, is there a way to preload the font? I think I can download the font on UIViewControllerstartup and see if I can access it using SKSceneany idea?

-(id)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {
        [self setScore:0];

        [self setBackgroundColor:[SKColor blackColor]];
        SKLabelNode *labelNode = [SKLabelNode labelNodeWithFontNamed:@"System"];
        [labelNode setText:@"00000"];
        [labelNode setFontSize:20.0];
        [labelNode setPosition:CGPointMake(CGRectGetMidX(self.frame),500)];
        [labelNode setName:@"SCORE"];
        [labelNode setAlpha:1.0];
        [self addChild:labelNode];
        [self setScoreLabel:labelNode];
        ...
+4
6

. , , , , .

:

SKLabelNode *preload = [SKLabelNode labelNodeWithFontNamed:@"System"];
[preload setText:@"anything"]; 

, , iOS.

+4

, , , "" SKLabelNode, , . "" , . , . (, "HelveticaNeue" "System".)

+4

- "dummy" , . , - , .

+1

SKScene, UIViewControllers , UIViewController, SKView; . UIViewController, SKScenes .

, , SKScenes, , - , .

+1

, . "Chalkboard SE", 4-6 , , .

ChalkboardSE-Regular, ~ 100 .

, : AcademyEngravedLetPlain

AlNile-

AlNile

AmericanTypewriter-Light

AmericanTypewriter-CondensedLight

AmericanTypewriter-CondensedBold

AmericanTypewriter

AmericanTypewriter-

AmericanTypewriter-

AppleColorEmoji

AppleSDGothicNeo-

AppleSDGothicNeo-UltraLight

AppleSDGothicNeo-SemiBold

AppleSDGothicNeo-Medium

AppleSDGothicNeo-Regular

AppleSDGothicNeo-

AppleSDGothicNeo-Light

ArialMT

-BoldItalicMT

-ItalicMT

-BoldMT

ArialHebrew-

ArialHebrew-Light

ArialHebrew

ArialRoundedMTBold

-

-

-

-Book

-BlackOblique

-HeavyOblique

-Light

-MediumOblique

-Medium

-LightOblique

-Roman

-BookOblique

AvenirNext-MediumItalic

AvenirNext-

AvenirNext-UltraLight

AvenirNext-DemiBold

AvenirNext-HeavyItalic

AvenirNext-

AvenirNext-Medium

AvenirNext-

AvenirNext-UltraLightItalic

AvenirNext-BoldItalic

AvenirNext-Regular

AvenirNext-DemiBoldItalic

AvenirNextCondensed-Regular

AvenirNextCondensed-MediumItalic

AvenirNextCondensed-UltraLightItalic

AvenirNextCondensed-UltraLight

AvenirNextCondensed-BoldItalic

AvenirNextCondensed-

AvenirNextCondensed-Medium

AvenirNextCondensed-HeavyItalic

AvenirNextCondensed-

AvenirNextCondensed-DemiBoldItalic

AvenirNextCondensed-DemiBold

AvenirNextCondensed-

BanglaSangamMN

BanglaSangamMN-

-

-SemiBoldItalic

-BoldItalic

-SemiBold

-

BodoniSvtyTwoITCTT

BodoniSvtyTwoITCTT-

BodoniSvtyTwoITCTT-BookIta​​p >

BodoniSvtyTwoOSITCTT-Bookit

BodoniSvtyTwoOSITCTT-

BodoniSvtyTwoOSITCTT

BodoniSvtyTwoSCITCTT

BodoniOrnamentsITCTT

BradleyHandITCTT-

ChalkboardSE-Light

ChalkboardSE-Regular

ChalkboardSE-

Chalkduster

-

-BoldItalic

-

Copperplate

Copperplate-Light

Copperplate-

Courier-

Courier-BoldOblique

Courier-

CourierNewPSMT

CourierNewPS-BoldMT

CourierNewPS-ItalicMT

CourierNewPS-BoldItalicMT

DamascusBold

DamascusLight

DamascusMedium

DamascusSemiBold

DevanagariSangamMN

DevanagariSangamMN-

-

-

DINAlternate-

DINCondensed-

EuphemiaUCAS

EuphemiaUCAS-

EuphemiaUCAS-

Futura-Medium

Futura-CondensedMedium

Futura-MediumItalic

Futura-CondensedExtraBold

GeezaPro-

GeezaPro

-BoldItalic

-

-

GillSans

GillSans-

GillSans-BoldItalic

GillSans-Light

GillSans-LightItalic

GillSans-

GujaratiSangamMN-

GujaratiSangamMN

GurmukhiMN-

GurmukhiMN

STHeitiSC-Medium

STHeitiSC-Light

STHeitiTC-Medium

STHeitiTC-Light

Helvetica-

Helvetica-Light

Helvetica-

Helvetica

Helvetica-BoldOblique

Helvetica-LightOblique

HelveticaNeue-BoldItalic

HelveticaNeue-Light

HelveticaNeue-

HelveticaNeue-UltraLightItalic

HelveticaNeue-CondensedBold

HelveticaNeue-MediumItalic

HelveticaNeue-

HelveticaNeue-Medium

HelveticaNeue-ThinItalic

HelveticaNeue-LightItalic

HelveticaNeue-UltraLight

HelveticaNeue-

HelveticaNeue

HelveticaNeue-CondensedBlack

HiraKakuProN-W6

HiraKakuProN-W3

HiraMinProN-W6

HiraMinProN-W3

HoeflerText-Regular

HoeflerText-BlackItalic

HoeflerText-

HoeflerText-

IowanOldStyle-

IowanOldStyle-BoldItalic

IowanOldStyle-

IowanOldStyle-Roman

-

KannadaSangamMN

KannadaSangamMN-

KhmerSangamMN

KohinoorDevanagari-Light

KohinoorDevanagari

KohinoorDevanagari-Medium

LaoSangamMN

MalayalamSangamMN

MalayalamSangamMN-

Marion-Regular

-

-

MarkerFelt-

MarkerFelt-Wide

-BoldItalic

-Regular

-

-

DiwanMishafi

-

-Light

Optima-Regular

-

-

-BoldItalic

-ExtraBlack

OriyaSangamMN

OriyaSangamMN-

Palatino-Roman

Palatino-

Palatino-

Palatino-BoldItalic

-

PartyLetPlain

SavoyeLetPlain

SinhalaSangamMN

SinhalaSangamMN-

SnellRoundhand-

SnellRoundhand-

SnellRoundhand

Superclarendon-Regular

Superclarendon-BoldItalic

Superclarendon-Light

Superclarendon-BlackItalic

Superclarendon-

Superclarendon-LightItalic

Superclarendon-

Superclarendon-

TamilSangamMN

TamilSangamMN-

TeluguSangamMN

TeluguSangamMN-

-

Thonburi-Light

TimesNewRomanPS-BoldItalicMT

TimesNewRomanPSMT

TimesNewRomanPS-BoldMT

TimesNewRomanPS-ItalicMT

-BoldItalic

TrebuchetMS

TrebuchetMS-

TrebuchetMS-

Verdana-BoldItalic

Verdana-

Verdana

Verdana-

ZapfDingbatsITC

Zapfino

. https://gilesey.wordpress.com/2015/01/14/ios-spritekit-font-loading-times-of-sklabelnodes/

+1

"AppDelegate.m":

- (void)setupFonts
{
    SKLabelNode *preloadFontLabel = [SKLabelNode labelNodeWithFontNamed:@"cinnamonCake"];
    [preloadFontLabel setText:@"Preload"];
}

:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self setupFonts];
    return YES;
}

, . : SKLabelNode

0

All Articles