블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

'성능'에 해당되는 글 3건

  1. 2016.08.31 C언어-itoa 성능테스트
  2. 2016.08.18 OpenGL/webGL - 성능향상 팁
  3. 2016.06.18 HTML - CSS3 vs JavaScript

인터넷에 있는 코드 몇개를 테스트했다.

임베디드를 하다보면, itoa를 직접 구현해야 할 경우가 가끔있다.


2번째가 라이브러리에 있는 함수

라이브러리에 포함된 함수가 가장 빨랐다.



테스트코드

void _debug_puts2(char *s,int a,int b);

void test_speed_itoa10_buf()

{

int v_start=-1000000,v_end=1000000,n=0,v;char buf[32];DWORD t[8];


_debug_puts("test_speed_itoa10_buf START\r\n");

t[0]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//1

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//2

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//3

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//4

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//5

}

t[1]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//1

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//2

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//3

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//4

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//5

}

t[2]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//1

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//2

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//3

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//4

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//5

}

t[3]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//1

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//2

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//3

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//4

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//5

}

t[4]=GetTickCount();


t[0]=t[1]-t[0];

t[1]=t[2]-t[1];

t[2]=t[3]-t[2];

t[3]=t[4]-t[3];

_debug_puts("test_speed_itoa10_buf END\r\n");

//[0] 6485

//[1] 5328

//[2] 8891

//[3] 7750

Posted by 안녕1999
, |

OpenGL/webGL - 성능향상 팁

WebGL / 2016. 8. 18. 23:30

OpenGL/webGL - 성능향상 팁


- CPU/GUP간 동기화는 매우느리다.

  readPixels, finish, getError 등의 불필요한 함수호출은 자재한다.

  필요한 정보는 변수에 저장해라.


- 함수 호출 1번으로 많은 내용을 그려라.

  drawArrays, drawElements 등의 함수를 한번만 호출하여, 많은 물체를 그려라.

 함수를 여러번 호출하면 느려진다.


texture 이미지는 1장에 모두 그려서, 필요한 부분만 골라서 그리도록 한다.

   texture 이미지를 교체할 수록 느려진다.


- 이미지는 가능하면 mipmapping 을 사용해라.


- 간단한 shaders는 빠르다. if문 같은 비교문은 제거해라.

  나눗셈, sin,cos, log등의 수학 함수 호출등은 가능하면 피해라. 변수에 미리 값을 계산하여 저장.


fragment shader(느림)보다는, vertex shader(빠름)에서 가능한 많은 작업을 해라.


vertex attrib 0 array를 enable로 설정하라.






밉맵 - 위키백과, 우리 모두의 백과사전

https://ko.wikipedia.org/wiki/밉맵
3차원 그래픽스의 텍스처 매핑 분야에서, 밉맵(mipmap)은 렌더링 속도를 향상시키기 위한 목적으로 기본 텍스처와 이를 연속적으로 미리 축소시킨 텍스처들로 ...

Mipmap - Wikipedia, the free encyclopedia

https://en.wikipedia.org/wiki/Mipmap
이 페이지 번역하기
In computer graphics, mipmaps (also MIP maps) or pyramids are pre-calculated, optimized sequences of images, each of which is a progressively lower ...


'WebGL' 카테고리의 다른 글

webgl 2d img draw  (0) 2017.03.01
webGL - 배울 수 있는곳 - learning webgl  (0) 2016.08.18
OpenGL/webGL - 셰이더(쉐이더)?  (0) 2016.08.18
Posted by 안녕1999
, |


문제의 시작

위 이미지는 구글 동영상 품질보고서에 나오는 내용이다.

https://www.google.com/get/videoqualityreport/?v=-rMMTv7XLYw#how_video_gets_to_you

CSS 애니메이션으로 작성된듯 하다.


그놈에 호기심....ㅠㅠ


CSS3와 자바스크립트와 어떻게 다를까?

CSS는 간단한 애니메이션은 아주 쉽게 구현이 가능해 보인다.

예전부터 사용해오던 자바스크립트와 어떻게 다를까?


이와 관련하여 구글 디벨로퍼 사이트에 이런 내용이 잘 정리되어 있다.(아래 참고)


CSS : 변경이 없는 단순 애니메이션

자바스크립트 : 외부 이벤트가 있는 복잡한 애니메이션등


자바스크립트로 컨트롤하고, CSS로 표시하는방법이 효과적이다.



참고 : https://developers.google.com/web/fundamentals/design-and-ui/animations/css-vs-javascript?hl=ko



CSS가 핸드폰에서도 동작하는가?

안드로이드, 갤럭시, 크롬 브라우져에서 동작하는것 확인함.



CSS와 자바스크림트 성능 비교


https://developers.google.com/web/fundamentals/design-and-ui/animations/animations-and-performance#css-vs-javascript-performance


https://developers.google.com/web/fundamentals/design-and-ui/animations/animations-and-performance?hl=en


만족스럽지는 못한 자료다.



CSS : http://www.w3schools.com/css/default.asp

http://www.clearboth.org/48_dynamic_style_-_manipulating_css_with_javascript/


Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함