2014-11-20 5 views
0

일부 애니메이션과 논리 집합을 처리해야하는 데스크톱 애플리케이션을 만들어야합니다. 전에 사용하지 못했던 node-webkit을 사용하여 생성하는 방법에 대해 생각했습니다.Node-Webkit 데스크톱 애플리케이션의 성능

여기에 누가 이미 desktop-apps을 작성하고 C++로 코딩 된 것과 비교하여 성능을 경험 한 사람이 있습니까?

답변

2

그래서이 질문에 두 부분이있다 :

1) V8 (노드 웹킷에서 실행 자바 스크립트의 비교 속도), C 대 ++ 대부분의 연산 집약적 작업에 네이티브 코드

로 컴파일, 당신 ' d는 벤치 마크에 따라 실행 속도가 3 배에서 10 배까지 떨어질 것으로 예상합니다. 보기는 http://benchmarksgame.alioth.debian.org/u64/benchmark.php?test=all&lang=v8&lang2=gpp에 찾아 낼 수있다; 다른 v8 벤치 마크를 검색하는 예제가 더 필요하다면.

2) 데스크톱 엔진 UI 툴킷 (예 : Qt, WxWidgets 등) 및/또는 Chrome 엔진으로 렌더링 된 브라우저 기반 UI 툴킷 (DOM과 CSS 및 WebGL 기반)의 속도 비교 C++에서 사용할 3D 렌더링 API (DirectX, OpenGL 또는 다양한 래퍼).

다른 유형의 UI 툴킷이 있기 때문에 불행히도 벤치마킹하기가 다소 어렵습니다. 구현 방식에 따라 사용할 수있는 각 유형의 애니메이션/위젯마다 성능 특성이 다릅니다. 3D 렌더링을 사용하고 있고 Chrome에서 Javascript + WebGL을 DirectX와 C++로 비교하려면 예제 벤치 마크의 경우 https://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis을 참조하십시오 (수치는 ~ 5 배의 속도 저하를 나타냄). WebGL과 OpenGL 및 DirectX를 비교하는 성능 벤치 마크를 검색하는 추가 예제가 필요한 경우

일반적으로 잘 구현 된 C++은 노드 - 웹킷에서 실행되는 Javascript보다 빠르게 실행해야합니다. 하드웨어에서 추상화되는 레이어가 적기 때문입니다. 즉, 예외적으로 계산 집약적 인 애플리케이션을 개발하지 않는 한, 그 차이는 현대 데스크톱에서는 볼 수 없을 가능성이 높기 때문에 성능보다는 개발 용이성에 더 중점을 두어야합니다.

node-webkit을 사용하면 브라우저 용으로 만들어진 수많은 UI 라이브러리를 활용할 수 있습니다. 특히 프론트 엔드 웹 앱 개발 경험이있는 경우 개발 시간이 단축 될 수 있습니다. 또한 이식성 측면에서 장점이 있습니다. C++에서 Qt와 같은 크로스 플랫폼 UI를 사용하지 않으면 플랫폼 별 UI 코드가 필요하지만 node-webkit을 사용하면 크로스 플랫폼 이식성을 무료로 얻을 수 있습니다.

관련 문제