2017-12-15 4 views
-3

새로운 데이터를 수신하면 그래프를 실시간으로 그려주는 MFC GUI 프로그램을 작성하고 있습니다. 초당 30 개의 데이터가 제공됩니다. 새로운 데이터를받을 때마다 fopenfprint을 사용하여 텍스트 파일을 쓰는 새로운 기능을 추가하고 있습니다. 그래서, 그것은 초당 30 개의 새로운 텍스트 파일을 생성합니다.MFC fprint 쓰기 성능을 향상시키는 방법?

쓰기 기능 때문에 프로그램이 일시 중지되어 실시간으로 그래프를 업데이트하지 않는 것이 문제입니다. 쓰기 기능을 끄면 잘 작동합니다.

어떻게 문제를 해결할 수 있습니까?

미리 도움을 주셔서 감사합니다. 감사!

+1

왜 초당 30 개의 새로운 텍스트 파일을 만드십니까? 수천 개의 파일로 끝납니다. 이거 정말 틀어? 각 texte 파일의 대략적인 길이는 얼마입니까? 왜 매분마다 새로운 파일을 만들지 않습니까? 귀하의 질문을 정교하게 작성하고 그 프로그램에 대해 더 자세히 알려주십시오. –

+0

태그가 없습니다. 그에 따라 귀하의 질문을 편집하십시오 (https://stackoverflow.com/posts/47826815/edit). – IInspectable

+0

모든 데이터 포인트 (초당 30 회)에 대해 열기, 쓰기 (추가?), 닫기를 수행하면 확실히 느려집니다. RAM에 데이터를 캐시 한 다음 끝에 덤프하십시오. 데이터가 너무 많으면 다중 스레드를 수행하고 UI 스레드를 빠르게 유지하고 다른 스레드 (낮은 우선 순위)가 파일에 데이터를 덤프하지만 파일을 열어 두십시오. – franji1

답변

0

OS/하드웨어 때문에 드라이브에 쓰기가 느려지는 경향이 있습니다. 이전에는 램 디스 (RAMDISK)라는 것이있었습니다. 기본적으로 RAM에 드라이브 문자를 만든 장치 드라이버. 파일을 작성한 후 새 위치의 하드 드라이브 또는 SSD 위치로 복사 할 수 있습니다. 열기 및 닫기 파일은 운영 체제 자원을 사용합니다. 귀하의 설명에서 귀하의 프로그램 디자인을 아는 것이 어렵습니다 ...

관련 문제