|
아무리 가상 메모리를 조절 한다고 해도, 그 수 많은 컴퓨터에서 똑같은 퍼포먼스를
낼 확률은 극히 드뭅니다. 특히, 상상도 못할만큼 느린 컴퓨터들을 많이 사용하고
있는 사용자분들도 많고요 (바이러스등에 의한 타의일지라도... :) )
이전에 아바타 작업을 할때 이런 비숫한 작업을 했던것 같은데요.
BMP는 용량이 커서 좀 힘들다고 판단되어 JPG로 변경하였으나 로딩 속도가 BMP보다
많이 느리더군요. 그래서 결국 선택한 것이 GIF 파일입니다. 요즘은 GIF가 라이센싱이
걸려, PNG로 많이 쓰는데, PNG로 사용하셔도 무관합니다.
만약, BMP를 굳이 사용하셔야 한다면, DirectX를 사용하시는것은 어떻까요?
객체 혹은 텍스쳐로 만들어 놓아서 뿌려준다면, 24 FPS 정도는 충분히 나올것 같다
라는 생각입니다. 요즘 DirectX는 메모리 관리까지 알아서 다 해주니깐요.. :)
cuperido
장진만 님이 쓰신 글 :
: 이미지 파일 몇백개를 메모리에 로딩하고
:
: 1초에 24장씩 보여주는 프로그램을 작성중입니다
:
: (이미지들을 애니메이션 처럼 보이게 만든다고 생각하면 될 듯...)
:
: TBitmap을 이용해봤는데요,
:
: 640*480으로 메모리에 올라가는 부분은 1초에 80장정도까지 잘 보이네요.
:
: 그런데 문제는 이미지 양이 메모리를 넘어섰을 때 입니다.
:
: 이미지중에 가상메모리로 들어가는 부분은 1초에 3장정도밖에 볼 수가 없습니다.
:
: (하드에서 메모리로 불러오는 시간이겠지요)
:
:
:
: virtualalloc을 이용하면 가상메모리 페이징을 스스로 조절할 수 있다는 얘기를 들은 것 같은데
:
: Help에서는 그 내용을 찾기가 힘드네요. 혹시 방법을 아시는 분이 계실지...
:
: 그리고, virtualalloc을 이용한다고 해도, virtual 메모리에 들어가는 것은 TBitmap의 객체이지
:
: 실제 픽셀들은 제가 메모리를 잡는게 아니라 Width와 Height를 정해주면
:
: 스스로 그 크기만큼 잡는거라 소용이 없지 않나하는 생각이...
:
: 하지만 virtualalloc을 이용할 수 있다면 TBitmap을 쓰지 않고 스스로 픽셀들을 배열에 저장해서라도
:
: 할 생각이 있습니다.
:
:
:
: 또는, 읽기 얼마전에 미리 해당 이미지를 엑세스 해서
:
: 불러 오려고도 했습니다만, 미리 이미지를 읽는 것에서 역시 느려지기 때문에 소용이 없네요 ^^;
:
: 액세스는 하되 읽어오는 것을 기다리지 않고 다음으로 넘어가버리는 방법이 있는지...
:
: 조언 부탁드립니다
|