Ruby에서 Win32의 GetPixel()을 사용해 보았습니다. 쿼드 코어 Intel 시스템에서도 정말 느립니다. 예를 들어 100 x 10 픽셀 = 1000 픽셀과 같이 매우 작은 영역을 얻으면 30 초가 걸릴 수 있습니다. 같은 지역을 한 번에 가져 오는 것과 같은 더 좋은 방법이 있습니까?왜 GetPixel()이 Ruby (또는 아마도 Perl 또는 Python)를 사용하여 매우 느리고 다른 방법으로이를 수행하는 이유는 무엇입니까?
1
A
답변
1
1
Ruby에 대해 많이 알지 못하지만 해석되지 않습니까? 그것이 있고 Ruby 라이브러리 중 하나를 통해 Win32 API 호출을 호출하고 GetPixel을 호출 할 때, 그렇다면 느려질 것입니다.
Win32 API를 통해 Ruby에 액세스 할 수 있다면 BitBlt를 살펴 봐야합니다. Bit-Block-Transfer : 개별 값보다는 버퍼 값을 반환합니다. 이것은 여러 번 더 빠를 것입니다.
물론 지금은 Device Context, 비트 맵 구조 및 원시 메모리 (Ruby가 제공하는 것보다 낮은 수준의 구성 요소)를 처리해야합니다.
관련 문제
- 1. 왜 또는 FREETEXTTABLE 다른
- 2. 느리고 오래된 고객을위한 Silverlight 또는 ASP.NET
- 3. Win32에서 Perl, Python 또는 Ruby (또는 C)를 사용하여 Left Shift 또는 Right Alt 키를 누르는 방법을 감지하는 방법은 무엇입니까?
- 4. JavaScript VS2010의 Intellisense가 매우 느리고 배고파졌습니다
- 5. Perl 또는 Perl, TIF 또는 TIFF, 개미 또는 개미, ClearCase 또는 Clear Case 중 어느 것입니까?
- 6. setTimeout 또는 setInterval을 사용하여 (jQuery를 수행하는 동안)
- 7. cscope 또는 ctags는 왜 다른 것을 선택합니까?
- 8. perl 또는 python을 사용하여 텍스트 변경
- 9. iphone python 또는 perl 프로세서 또는 유사
- 10. ReSharper 또는 CodeRush를 구입해야하는 이유는 무엇입니까?
- 11. 인터페이스 또는 추상 클래스가 유용한 이유는 무엇입니까? (또는 무엇을?)
- 12. django1.3을 사용하여 아약스 또는 jquery를 수행하는 방법
- 13. Perl 생성자가 undef 또는 "invalid"객체를 반환해야합니까?
- 14. Ruby on Rails 또는 .NET?
- 15. 왜 canvas.save 또는 canvas.restore를 사용합니까?
- 16. Perl, Ruby 또는 PHP로 PDF의 문자열 검색 및 바꾸기
- 17. Ruby 또는 RubyOnRails를 사용하여 SharePoint 서버에 연결
- 18. 웹 서비스 : PHP 또는 Ruby on Rails 또는 Python?
- 19. insertOrThrow가 있지만 updateOrThrow 또는 deleteOrThrow가없는 이유는 무엇입니까?
- 20. 새 프로젝트 : Ruby on Rails 또는 Symfony2 (또는 다른 프레임 워크)
- 21. Ruby 또는 Ruby on Rails를 사용하여 서명으로 PDF 생성
- 22. 어떻게 또는 왜 그렇게
- 23. 최대 절전 모드 또는 iBatis 또는 다른 것?
- 24. map-reduce를 사용하여 조회 (또는 조인)를 수행하는 방법은 무엇입니까?
- 25. Perl (또는 다른 스크립팅 언어)에서 RDF-XML에 액세스하려면 어떻게해야합니까?
- 26. Ruby 또는 PHP 또는 PHP 프레임 워크?
- 27. Ruby 예외 또는 오류?
- 28. 왜 다른 Ruby 구현이 있습니까?
- 29. 다른 Ruby On Rails 버전이있는 이유는 무엇입니까?
- 30. PHP ↔ Perl 인터페이스 또는 바인딩
는 "심지어 쿼드 코어 인텔 컴퓨터에"-이 멀티 코어 시스템의 일반적인 오해이다. 언어가 멀티 코어 아키텍처를 사용하지 않거나 사용할 수없는 경우에는 그렇지 않습니다. 프로그램은 마술처럼 그렇게하지 않습니다. – LiraNuna
쿼드 코어는 머신이 (1) 합리적으로 현대적인 머신이고 (2) 다른 프로세스에 묶이지 않고 100 % 속도로 프로그램을 실행할 수 있다고 제안하는 것입니다. –