차트의 개별 텍스트 레이블 및 비트맵 작업 성능 테스트 - 페이지 3

 
Renat :

확장 테스트를 게시했습니다. 이제 사용된 해상도와 테스트 방법에 대한 힌트가 표시됩니다.

글쎄, 그것이 우리가하는 방법입니다.
 
sergeev :


일반적으로 모든 테스트는 비트맵이 다소 느리다는 것을 보여줍니다.

+ 마크의 좌표를 읽는 존재의 정확성에 의문이 있습니다. 왜 파이프라인을 확인합니까?

실제로 테스트 결과 느리지 않은 것으로 나타났습니다. 적어도 최신 프로세서에서는.

다음은 i7-3770S, Windows 8 x64, 16 RAM, NVIDIA GeForce GT 640M에 대한 결과입니다.

 2013.04 . 27 22 : 21 : 50      BenchmarkLabel (EURUSD,M15)     Тестирование завершено
2013.04 . 27 22 : 21 : 50      BenchmarkLabel (EURUSD,M15)     5 . Время обновления текста и позиций у битмапа без прозрачности = 15007 ms
2013.04 . 27 22 : 21 : 35      BenchmarkLabel (EURUSD,M15)     4 . Время обновления текста и позиций у битмапа с прозрачностью = 15257 ms
2013.04 . 27 22 : 21 : 20      BenchmarkLabel (EURUSD,M15)     3 . Время обновления текста и позиций у меток со чтением = 16739 ms
2013.04 . 27 22 : 21 : 03      BenchmarkLabel (EURUSD,M15)     2 . Время обновления текста и позиций у меток без чтения = 18845 ms
2013.04 . 27 22 : 20 : 44      BenchmarkLabel (EURUSD,M15)     1 . Время обновления текста у меток без чтения = 21497 ms
2013.04 . 27 22 : 20 : 23      BenchmarkLabel (EURUSD,M15)     0 . Время разогрева динамических очередей без визуализации = 124 ms
2013.04 . 27 22 : 20 : 23      BenchmarkLabel (EURUSD,M15)     Для корректного теста подберите размер окна 1024 x 768 пикселей, без индикаторов, не трогайте ничего, не сворачивайте и не закрывайте окна
2013.04 . 27 22 : 20 : 23      BenchmarkLabel (EURUSD,M15)     Разрешение чарта: 1020 x 761 пикселей

비트맵의 모든 투명도는 15,257ms인 반면 레이블의 경우 21,497ms입니다.

실제 작업에는 변경하기 전에 개체 매개변수를 읽는 것이 종종 포함되기 때문에 파이프라인 유효성 검사는 중요합니다. 그리고 객체에 대한 읽기/쓰기가 혼합된 경우가 많을수록 객체 수정 작업이 느려집니다. 객체를 변경하는 가장 좋은 전략은 먼저 대량으로 읽은 다음 혼란을 피하면서 대량으로 작성하는 것입니다. 특히 차트에 수천 개의 개체가 있는 경우.


테스트의 가장 중요한 결과는 비트맵에서 배수, 10배 또는 50배 지연이 없다는 것입니다. 위의 측정에서와 같이 지연이 있을 수 있지만(작업 차트의 크기와 구성에 대한 질문이 있음) 10% 이내입니다.

그러나 이 모든 것을 통해 비트맵은 개체 수의 증가, 렌더링 품질(투명도 포함)의 증가 및 원하는 무엇이든 표시할 수 있는 기능의 증가와 함께 발사 속도의 엄청난 전망을 가지고 있습니다.

 

더 빠르게 설정할 수 있습니다.

1. 생성된 캔버스가 차트 창의 100%를 덮도록 차트 창을 축소합니다.

2. 차트의 색 구성표를 단색으로 설정합니다(속성 -> 색 -> 색 구성표를 통해)/

3. 차트의 눈금을 최소(최대 크기의 양초)로 줄입니다.

하지만. 보시다시피 절대 벤치마크 수치는 더 낮지만 상대적 값은 +/- 동일합니다.

 

컴퓨터의 일부 구성 요소로 인해 3번 담근 개체와의 혼합 작업 성능( sanyooooook 테스트 )에 주의하십시오.

:

아마도 프로세서는 (잠금이 그를 죽였습니까?) 그리고 메모리에 책임이 있습니다. 어떤 프로세서가 사용되었는지 아는 것은 흥미롭습니다.

아니면 이 테스트 당시에 컴퓨터가 로드되었거나 화면이 당겨졌을 수도 있습니다.

 
sergeev :

하지만 비트맵으로 그래픽을 그립니다. 옵션이 없기 때문에 :) 또한 다중 개체 테이블.

비트맵은 개체만큼 많은 이점이 있습니다.

동의한다. 각 구성 요소는 고유한 용도에 적합합니다. 예를 들어 인터페이스 요소를 그리는 데 비트맵은 필수 불가결합니다. 글쎄, 다른 옵션은 없습니다.

그러나 레이블은 통계를 표시하는 데 더 빠르고 경제적입니다. :)

 
voix_kas :

하지만. 보시다시피 절대 벤치마크 수치는 더 낮지만 상대적 값은 +/- 동일합니다.

임의의 오류가 없고 모든 사람이 측정의 순도에 대한 요구 사항을 이해하도록 도입 조건을 구체적으로 표시했습니다.

테스트 중 하나에서 2355ms의 결과는 실제로 테스트 중에 터미널 창을 숨기거나 최소화하거나 전환하여 발생했습니다.

 2013.04 . 27 20 : 09 : 37      BenchmarkObjects (EURUSD,M5)     5 . Время обновления текста и позиций у битмапа без прозрачности = 12558 ms
2013.04 . 27 20 : 09 : 24      BenchmarkObjects (EURUSD,M5)     4 . Время обновления текста и позиций у битмапа с прозрачностью = 12839 ms
2013.04 . 27 20 : 09 : 11      BenchmarkObjects (EURUSD,M5)     3 . Время обновления текста и позиций у меток с чтением = 2355 ms
2013.04 . 27 20 : 09 : 09      BenchmarkObjects (EURUSD,M5)     2 . Время обновления текста и позиций у меток без чтения = 10655 ms
2013.04 . 27 20 : 08 : 58      BenchmarkObjects (EURUSD,M5)     1 . Время обновления текста у меток без чтения = 10359 ms
2013.04 . 27 20 : 08 : 48      BenchmarkObjects (EURUSD,M5)     0 . Время разогрева динамических очередей без визуализации = 124 ms
 
당신은 놀랄 것입니다. 그러나 이 시험(3번)은 저에게 적합하지 않습니다. 나는 SD( # 732578)에 썼다. 더 정확하게는 12가지 중 1가지 경우를 통과합니다. 로그에 알림이나 오류가 없습니다. 이 테스트가 진행되는 동안 터미널이 멈추는 것뿐입니다.
 
papaklass :

내 데스크탑 테스트

예, Renat, 당신은 해상도를 선택했습니다. 1920 X 1080 이후에는 화면에서 모든 것을 즉시 찾지 못했습니다. 바로 노트북에서 실행하겠습니다.

결과에 감사드립니다. 비트맵도 더 빠릅니다.

 
voix_kas :
당신은 놀랄 것입니다. 그러나 이 시험(3번)은 저에게 적합하지 않습니다. 나는 SD( # 732578)에 썼다. 더 정확하게는 12가지 중 1가지 경우를 통과합니다. 로그에 알림이나 오류가 없습니다. 이 테스트가 진행되는 동안 터미널이 멈추는 것뿐입니다.
감사합니다. 살펴보겠습니다.
 
Renat :

컴퓨터의 일부 구성 요소로 인해 3번 담근 개체와의 혼합 작업 성능( sanyooooook 테스트 )에 주의하십시오.

:

아마도 프로세서가 (잠금이 그것을 죽였습니까?) 그리고 메모리에 책임이 있습니다. 어떤 프로세서가 사용되었는지 아는 것은 흥미롭습니다.

아니면 이 테스트 당시에 컴퓨터가 로드되었거나 화면이 당겨졌을 수도 있습니다.

첫 번째 테스트에서는 창을 전환했습니다. 두 번째 테스트에서는 아무 것도 건드리지 않았으며 MT4가 병렬로 작동하고 스크립트가 내부에서 실행되고 차트가 작성되고 컴퓨터를 로드할 수 있는 몇 가지 프로세스가 더 있습니다. )