캔버스 멋지다! - 페이지 66

 
인터페이스 크기 조정과 같은 일부 작업의 경우 이미지 크기 조정 기능을 크게 단순화할 수 있습니다.
주어진 크기의 리소스를 로드하는 함수의 예입니다.

 bool   ImageFromResource( const string _resource, const int _w, const int _h, uint &_pic[])
{
   uint lp[];
   int wr, hr;
   if (_w< 2 || _h< 2 ) return ( false );
   if (! ResourceReadImage (_resource,lp,wr,hr))
   {
       Print ( "Еrror loading resource: " ,_resource);
       return ( false );
   }
   if (_w!=wr || _h!=hr)
   {
       //resize image
       ArrayResize (_pic,_w*_h);
       double sw=( double )_w/wr;
       double sh=( double )_h/hr;
       //
       for ( int _y= 0 ; _y<_h; _y++)
         for ( int _x= 0 ; _x<_w; _x++)
            _pic[_y*_w+_x]=lp[ int (_y/sh)*wr+ int (_x/sw)];
   } else ArrayCopy (_pic,lp);
   return ( true );
}

크기 조정 알고리즘의 시각적 비교, 오른쪽은 단순화된 버전입니다.


 
fxsaber :

이러한 터미널의 진부한 최소화는 CPU의 과부하를 거의 0으로 줄입니다. 그런 비합리적으로 먹는 GUI가 이해할 수 없는 이유.

이에 대해 프로그래머에게 감사의 말을 전해야 합니다.

예를 들어, 가장 인기있는 비디오 madvr 코덱에서 일시 중지, 채굴하는 것처럼 먹습니다)

 
fxsaber :

네. 나는 개발자들이 5개의 터미널을 병렬로 실행한 적이 없다고 생각합니다. 여기서 Market Watch는 높은 빈도로 수백 문자의 인용문을 가지고 있습니다.

그러한 터미널의 진부한 최소화가 CPU의 과부하를 거의 0으로 줄이는 것은 매우 어리석은 일입니다. 그런 비합리적으로 먹는 GUI가 이해할 수 없는 이유.

gui를 초당 300번 그리는게 무료라고 생각하시나요?

결국, 당신은 우리가 잘못 그렸다고 선언하는 첫 번째 사람이 될 것입니다. 그리기를 끝내지 않거나 그리기를 건너뛰십시오.

데스크탑에 대해 이야기하고 있다면 일반적인 고속 비디오 카드가 필요합니다. 높은 빈도의 렌더링에서 살아남을 것입니다. 창을 최소화하면 가장 자주 그리는 응용 프로그램의 부하가 줄어듭니다.


정보: MetaTrader는 초당 호가가 많기 때문에 100-300FPS를 수행할 수 있습니다. 기존 프로그램과 같이 초당 1-2 프레임이 아니라 견적 스트림에 따라 실제로 수백 프레임입니다.

 
Renat Fatkhullin :

gui를 초당 300번 그리는게 무료라고 생각하시나요?

결국, 당신은 우리가 잘못 그렸다고 선언하는 첫 번째 사람이 될 것입니다. 그리기를 끝내지 않거나 그리기를 건너뛰십시오.

데스크탑에 대해 이야기하고 있다면 일반적인 고속 비디오 카드가 필요합니다. 높은 빈도의 렌더링에서 살아남을 것입니다. 창을 최소화하면 가장 자주 그리는 응용 프로그램의 부하가 줄어듭니다.


정보: MetaTrader는 초당 호가가 많기 때문에 100-300FPS를 수행할 수 있습니다. 기존 프로그램과 같이 초당 1-2 프레임이 아니라 견적 스트림에 따라 실제로 수백 프레임입니다.

Renat, 이제 인텔 프로세서 10개 수준이고 zen2가 코어당 더 빠르게 작동하는 새로운 프로세서를 모두 테스트했는데 여기에서 작동합니까?

내가 아는 한 멀티스레딩에는 인텔이 없고 AMD는 멀티스레딩을 잘 병렬화해서 잘 사용하고 있다
 

캔버스 - 멋지다!

거래에 어떻게 도움이 되나요?

 
Renat, 여기 있는 동안 답변을 작성해 주세요.
 
prostotrader :

캔버스 - 멋지다!

거래에 도움이 되나요?

 
Yury Kulikov :
인터페이스 크기 조정과 같은 일부 작업의 경우 이미지 크기 조정 기능을 크게 단순화할 수 있습니다.
주어진 크기의 리소스를 로드하는 함수의 예입니다.

크기 조정 알고리즘의 시각적 비교, 오른쪽은 단순화된 버전입니다.

예, 유리님, 동의합니다. 이러한 초고속 알고리즘에는 생명권이 있습니다.
그러나 당연히 품질의 심각한 손실이 있습니다. 특히 선명한 색상 전환이 있는 이미지에서.
예를 들어, 나는 이것을 명확하게 보여주는 스크립트를 스케치했습니다. 오른쪽은 이 빠른 알고리즘이고 왼쪽은 내 알고리즘입니다(4-10배 더 느림).
일반적인 스크린샷 축소의 예:


ZY 그런데 왜 그런 깜박임이 있는지 이해했습니다. 나는 모든 프레임에서 비트맵의 크기를 조정했는데, 그것은 어리석었고 그 이유였습니다. 이제 제거되고 모든 것이 원활하게 작동합니다.

파일:
Scaling.gif  12254 kb
scaling2.zip  290 kb
 
Fast235 :

Renat, 이제 인텔 프로세서 10개 수준이고 zen2가 코어당 더 빠르게 작동하는 새로운 프로세서를 모두 테스트했는데 여기에서 작동합니까?

내가 아는 한 멀티스레딩에는 인텔이 없고 AMD는 멀티스레딩을 잘 병렬화해서 잘 사용하고 있다

모든 최신 프로세서는 충분히 빠릅니다.

특히 터미널 작업을 위한 메모리와 NVMe 디스크가 많은 경우. 중급 그래픽 카드를 적극 권장합니다.

우리 회사에서는 Intel을 거부하고 1년 이상 서버 및 워크스테이션용 AMD Epyc만 구매했습니다.

 
Renat Fatkhullin :

모든 최신 프로세서는 충분히 빠릅니다. 특히 메모리와 NVMe 드라이브가 많은 경우.

터미널에는 중급 그래픽 카드를 적극 권장합니다.

우리 회사에서는 Intel을 거부하고 1년 넘게 서버 및 워크스테이션용 AMD Epyc만 구매했습니다.

엄청난)