Problemy z renderowaniem w Safari 6 / artefakty (w Mountain Lion)

12

Ostatnia aktualizacja Właśnie otrzymałem wiadomość e-mail od Apple potwierdzającą, że ten błąd został naprawiony w systemie OS X Mountain Lion 10.8.3


Mam problemy z renderowaniem w Safari 6 na różnych systemach, na których działa Mountain Lion, i nie mogę znaleźć rozwiązania. Dołączyłem zrzuty ekranu, aby opisać problem.

Aktualizacja Dalsze dochodzenie sugeruje, że może to stanowić problem tylko w przypadku modeli komputerów Mac z 2012 r., Szczególnie tych z grafiką HD4000.

Aktualizacja Wygląda na to, że artefakty nie zawsze pojawiają się natychmiast, wymagając pewnych przeładowań i / lub zamykania / ponownego otwierania kart, zanim się pojawią.

Aktualizacja Problem został potwierdzony jako nie będący błędem WebKit i został zgłoszony jako błąd w Apple (problem 12750455 autorstwa Simona Frasera).

Witryna Twitter Bootstrap w przeglądarce Safari

Witryna Twitter Bootstrap w przeglądarce Safari

Witryna Twitter Bootstrap w przeglądarce Firefox

Witryna Twitter Bootstrap w przeglądarce Firefox

Teak's jsfiddle w Safari

Teak's jsfiddle w Safari

Teak's jsfiddle w przeglądarce Firefox

Teak's jsfiddle w przeglądarce Firefox

Linki do stron pokazanych na zrzutach ekranu:

René
źródło
2
Próbowałem trochę edytować tekst, ale zanim spróbuję zasugerować, czy inna strona byłaby lepsza i przeprowadzę migrację, czy możesz wyjaśnić, czego szukasz przede wszystkim? Czy chcesz, aby dotyczyło to JQuery wymagającego łatki, czy też WebKit / Safari? Koncentrujemy się bardziej na użytkownikach i chociaż niektórzy to programiści i programiści WWW, nie jesteśmy najlepszym miejscem na wiedzę na temat poziomu kodu i błędów / regresji. Możemy wskazać, w jaki sposób zgłosić błąd w Apple, ale generalnie nie ma tutaj szczegółowych pytań html / css / js.
bmike
1
Czuję się doskonale ... imgur.com/a/vICCs Korzystam z Safari 6.0.1 na OS X Lion 10.7.5
daviesgeek,
@bike Wydaje mi się, że jest to problem Mountain Lion, a nie problem HTML / CSS / JS.
René
Właśnie spytałem kolegę, który prowadzi Mountain Lion: nie ma żadnych problemów. Więc źródło problemu pozostaje dla mnie tajemnicą.
René
1
@ René Według blackpixel.com/blog/2012/02/radar-or-gtfo.html dobrym pomysłem jest zgłaszanie podwójnych błędów w Apple, więc prawdopodobnie dobrym pomysłem jest zgłoszenie tego!
Olly Hodgson

Odpowiedzi:

3

To był błąd w Safari, rozwiązany w aktualizacji OSX 10.8.3!

Guido Hendriks
źródło
1
Na przykład dodanie odpowiedniego cytatu z uwag do aktualizacji znacznie zwiększy wartość twojej odpowiedzi.
Thecafremo,
1
W notatkach o aktualizacji nie zostało to odnotowane, ale to rozwiązało. Próbowałem sam przed aktualizacją i po niej.
Guido Hendriks
1
Wygląda na to, że zostało to naprawione przez Apple wraz z wydaniem Mountain Lion 10.8.3 + Safari 6.0.3 w tym tygodniu.
Sinklar,
8

Mogę potwierdzić, że jest to błąd związany z procesorem graficznym Intel Graphics 4000. Widzę artefakty graficzne na moim 13-calowym MacBooku Retina, a nie na moim starszym MBP, który ma Mt. Lion i procesor graficzny Nvidia Geforce.

Mam doświadczenie z pierwszej ręki z tym problemem, próbując opracować przyciski css dla stron internetowych ...

Wierzę, że artefakty można odtworzyć za pomocą css3 border-radiusw połączeniu z a box-shadow. Chociaż oczywiście dzieje się tak również w wielu innych okolicznościach. (Co mogę potwierdzić)

Oto link do raportu o błędzie na stronie webkit (choć nie jestem pewien, czy to tam należy):

https://bugs.webkit.org/show_bug.cgi?id=103087

I pytanie SO, z którego pochodzi:

/programming/13505314/artifacts-on-css-rendering-box-shadow-on-safari-6-0-2-on-mountain-lion

Tek
źródło
1
Dzięki za udostępnienie tego. Nie jestem jednak przekonany, że jest to problem związany z webkitem, ponieważ problem ten dotyczy OS X Mountain Lion i tylko z grafiką HD4000.
René
2

To nie jest błąd Intel HD 4000. Widzę ten błąd tylko z Safari na Intel HD 4000. Jeśli otworzę stronę w (Opera, Chrome, Firefox) - nie mogę odtworzyć tego błędu

Vladimir Kadnikov
źródło
2

Szybkim rozwiązaniem tego problemu jest użycie transformacji obiektu o promieniu granicznym lub innych szkód powodujących własność. W ten sposób wymuszasz przerysowanie przy użyciu karty graficznej, co usuwa problem.

Zastosuj następującą właściwość: -webkit-transform: translate3d(0,0,0);- I powinno być dobrze.

Spokój
źródło
Ma niemały koszt wydajności, jeśli zastosujesz go do div zawierającego wiele rzeczy, ale obejdzie błąd.
James
Koszt wydajności? Chciałbym zobaczyć trochę danych na ten temat. Wszelkie dodatkowe koszty powinny być obsługiwane przez GPU.
Kalms
1
Transformacja zerowa tworzy teksturę podkładu dla tego elementu na GPU. To sprawia, że ​​przenoszenie elementu jest tanie, ponieważ jest to kompozyt, a nie farba, ale powoduje, że zmiany w elemencie są droższe (np. Zmiany tekstu, wymiarów, stylu), ponieważ konieczne jest przesłanie nowej tekstury do GPU, a także odmalowanie elementu . Zajmujesz także pamięć GPU, co może być problemem w telefonach.
JaffaTheCake,
Dziękuję za to. Jakieś dobre rekomendacje dotyczące informacji na ten temat?
Kalms
1

Oto rzeczy, które zrobiłbym, jeśli nie możesz podać linku do czegoś, co jest dostępne w Internecie, aby inni mogli powielić / sprawdzić, co się dzieje.

  1. Wypróbuj kompilację nocnego zestawu webkit, aby sprawdzić, czy to błąd, który został naprawiony, ale nie został wysłany. http://nightly.webkit.org

  2. Usuń wszystkie rozszerzenia z Safari, aby upewnić się, że nie są one spowodowane przez jedno.

bmike
źródło
Dodałem linki do stron pokazanych na zrzutach ekranu.
René,
Próbowałem obu twoich sugestii, ale niestety nie zadziałały.
René,
1

Mogę również potwierdzić ten błąd na MacBooku Retina 15 "(OSX 10.8.2, Safari 6.0.2)

Mój macbook ma również Intel HD4000, ale także Nvidia GT 650M na zewnętrzny wyświetlacz.

Aby wyeliminować wszystkie inne możliwości oprócz karty graficznej (sterownika), użyłem przejściówki piorun-dvi do podłączenia zewnętrznego wyświetlacza na karcie Nvidia.

Wynik: Żadnych dziwnych linii i dziwacznych efektów jquery!

wniosek: problem z HD4000 (sterownikiem).

Ruben
źródło