-
Notifications
You must be signed in to change notification settings - Fork 5.8k
CoreText Issue on OS X Mavericks. For best performance, only use PostScript names when calling CTFontCreateWithName() #11418
Comments
The same error happens with capybara-webkit on Mavericks. |
Same here pretty annoying |
Anyone can solve this? |
👍 |
I'm pretty sure there's no way to avoid this warning, because it comes from CoreText Framework code. |
So is "Times New Roman" provided by you in the CSS? Or is it coming from phantomjs somewhere? |
I've had the same warning with Arial, so I guess it depends on the font-family in the css. |
I'm completely unfamiliar with Objective-C, but could you wrap the only line that calls CTFontCreateWithName with some pragma marks like this (replacing |
@ericboehs It's a runbtime warning not compile time, so I don't think a pragma will help. Maybe this helps (look at the snippet at the bottom): http://stackoverflow.com/questions/18291333/coretext-performance-warning-when-creating-a-ctfont |
Ah! Good find! So it looks like we have a solution, we just need someone wise enough to make a PR. (It'd take me hours to figure out the proper syntax, where it should go and how to compile.) |
I think another solution would be to disable QT_MAC_USE_COCOA, not sure what effect that would have. But given that it's headless it shouldn't really matter what font engine we are using. |
👍 Still seems to be an issue in OSX Mavericks v6. |
I can verify this is indeed an issue in Mavericks |
👍 |
This is a quick solution to avoid the annoying warnings, add this to your test_helper.rb:
Edit: sorry, this hack only works for the capybara/webkit combo, see solution for poltergeist by @ericboehs below |
👍 Mavericks is officially out, can we get a fix on this, please? |
+1 |
1 similar comment
+1 |
I'm a little confused on how to proceed and resolve this issue... should I go monkey with qt4? Is this being addressed in phantomjs directly? Thanks! |
As @felixbuenemann and I discussed earlier in this thread, I believe the fix is to do this to the line that calls CTFontCreateWithName. I'm just not familiar enough with Obj C to implement this. As for the hack @Fjan recommended, that's a capybara webkit specific solution which won't work for poltergeist (or other drivers). I posted a solution for poltergeist (based on @Fjan's solution) in this gist. |
@ericboehs gotcha, thanks. I was just confused when the issue was closed with seemingly no resolution. Sounds like a fix is outstanding then, and we'll have to wait for someone with Obj C chops to help out. I guess that work will be tracked in a separate github issue? |
Yep
I believe the issue is with with phantomjs and I don't see an open duplicate ticket, so this should be the place to collaborate on a solution. |
I assumed so too. Perhaps I mistakenly thought this issue was closed based on the closed issues being referenced in the thread above that are not this specific issue. Sorry for the confusion! |
I have the same problem phantomjs[4295:110b] CoreText performance note: Client called CTFontCreateWithName() using name "Helvetica Neue" and got font with PostScript name "HelveticaNeue". For best performance, only use PostScript names when calling this API. |
+1 I have the same message the only difference is the name of the font. |
+1 also getting this message after upgrade |
Awesome! Thanks for updating the bottle. 😄 |
Actually it looks like homebrew is leveraging jenkins to automatically detect changes that need a new bottle. Very neat stuff. |
You can use |
Note that you may need to pass in
|
@sikachu's way doesn't work for me (nor without |
@sikachu Homebrew has been updating the bottles automatically shortly after the pull request is applied to master. We merely have to wait for the bottle update commit from the build bot. No need to build from source. |
Was it? For some reason I got an unfixed bottle, so I had to built from source. That's a good news, then! |
The CoreText warning has been fixed. The userSpaceScaleFactor fix appears to have missed the mark. See my comment on #11612. |
Aha, yeah, I'm getting the userSpaceScaleFactor one. Thank you for looking into it :) |
I'm still getting the CoreText warning after I did a brew upgrade && brew reinstall phantomjs. I'm on Mavericks 10.9.1 |
Above is said that you should |
@tku90 Did you try |
@janko-m @erikmontes Yes I tried build-from-source as well, and brew reinstall upgraded to the latest version, so brew upgrade phantomjs tells me that it's up to date. |
And you're sure Homebrew didn't use an already downloaded version of PhantomJS (without the patch)? I know it's a stupid question, but I have to ask :) |
@janko-m Yep it's the latest version of PhantomJS installed (1.9.7) |
I can report this issue is fixed for Mavericks PhantomJS version 1.9.7
|
Here's my terminal output:
|
Hmm, it shouldn't say "webkit_server", it should say "phantomjs". Are you sure you're using |
Try running |
That was it, sorry I should have caught that haha, thanks a lot! |
@kylewelsby Thanks for the hint! ;) |
When I run phantoms 1.9.1 (downloaded) on the new OS X Mavericks, I got this:
2013-06-19 23:46:05.765 phantomjs[6149:507] CoreText performance note: Client called CTFontCreateWithName() using name "Times New Roman" and got font with PostScript name "TimesNewRomanPSMT". For best performance, only use PostScript names when calling this API.
2013-06-19 23:46:05.767 phantomjs[6149:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
I think change the "Times New Roman" to "TimesNewRomanPSMT" may fix the issue.
The text was updated successfully, but these errors were encountered: