2011-03-23 5 views
3

글꼴 렌더링 변경으로 인해 하드웨어 가속을 사용하는 브라우저에서 글꼴 크기가 같지 않아 문자가 더 작게 나타납니다. 수평 탐색 기능이있는 사이트에서는 실제로 문제가되고 있습니다.자바 스크립트에서 브라우저로 하드웨어 가속을 감지 할 수 있습니까?

JavaScript 또는 JS 라이브러리를 사용하여 브라우저에서 하드웨어 가속을 감지 (또는 비활성화) 할 수 있습니까?

Modernizr는이 선택 사항을 제공하지 않는 것 같습니다.

+0

IMO에서 잘못된 질문을하고 있습니다. 하드웨어 가속에 신경 쓰지 않아도됩니다. – CodesInChaos

+0

관련 질문 : http://stackoverflow.com/questions/4972074/is-there-a-way-to-programmatically-test-for-browser-gpu-acceleration. 제목을 가지고 간다면 중복이 될 수 있지만, 정말로 알고 싶었던 질문은 "충분히 빨랐습니까?" 이 질문은 실제로 "내가 원하는대로 렌더링합니까?" – CodesInChaos

답변

7

을 알고 기능을 할 수 있습니다. 따라서 귀하의 웹 사이트는 픽셀의 정확한 글꼴 렌더링에 의존하는 대신 이러한 차이를 우아하게 처리해야합니다. 하드웨어 가속은 그러한 차이의 한 가지 원인 일뿐입니다.

하드웨어 가속화인지 실제로 글꼴을 렌더링하는 데 관심이 없으므로 일부 렌더링 된 텍스트의 크기를 측정하는 방법과이를 기반으로 페이지를 조정할 수 있습니까?

+0

사실, 나는 문제를 해결하기 위해 내 자원을 어디에서 타겟팅해야하는지 완전히 확신하지 못했다고 생각합니다. 문제는 수정이 필요하다는 것입니다. 입력 건배. –

-5
<script type="text/javascript"> 
<!-- 
window.onload=function(){ 
     if(window.screen.availHeight>700 && window.screen.availWidth>1000) 
     { 
     document.body.style.fontSize="15px"; 
     } 
................. 
//another conditions 
} 
//--> 
</script> 

는 프로세서 속도 나 램 크기 를 얻을 수 있지만 글꼴 렌더링 브라우저, OS 및 사용자 설정에 따라 달라지는 hardewre 강도

<script type="text/javascript"> 

var number=10; 
var i; 
var start = (new Date).getTime(); 
//code here 
    for(i=0;i<10000;i++) 
    { 
     number=number*10; 
    } 
var diff = (new Date).getTime() - start; 
alert(diff); 

start = (new Date).getTime(); 
//code here 
    while(i<10000) 
    { 
     number=number*10; 
     i++; 
    } 

diff = (new Date).getTime() - start; 
alert(diff); 

</script> 
+1

괜찮은 컴파일러가 전체 루프를 최적화하지 않았습니까? 그리고 첫 번째 함수는 페이지의 로딩이 끝난 순간의 크기를 조절하는 것처럼 보입니다. 끔찍한 사용자 경험. – CodesInChaos

+0

busy-loop의 계산 속도 (방문자가이 경험을 좋아할 것이라고 확신 함)는 하드웨어 가속 글꼴 렌더링과 관련이 없습니다. 원래의 포스터에서 해결하려는 문제 중 하나입니다. – sarnold

+0

그리고 루프가 최적화되지 않은 경우에도 시간 차이가 0이 될 것으로 예상됩니다. Windows에서는 시간 함수가 정확하지 않습니다. 실행중인 다른 프로그램에 따라 16ms마다 업데이트 될 수 있습니다. 그리고 루프보다 확실히 시간이 오래 걸릴 것입니다. – CodesInChaos

2

브라우저와 플랫폼의 글꼴 크기 차이에만 관심이 있으므로 글꼴 크기 정규화 기술을 살펴 보는 것이 좋습니다.

내가 개인적으로 잘 알고있는 유일한 사람은 YUI Fonts CSS입니다. 나는 모든 프로젝트에서 그것을 사용하고 HTML5Boilerplate 프로젝트를 사용했습니다.

같은 CSS를 입력 체계 프레임 워크도있는 Baseline, Typogridphy가, Blueprint (나는이 살펴본 결과이 길을 갈 경우는 추천) 그리고 마지막으로 atatonic

0

느린 렌더링에 대한 해결을하기보다는, 새로 고침을 줄이기 위해 underscore의 스로틀이나 디 바운스를 사용하지 않으시겠습니까?