메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

1. 시스템메모리와 비디오메모리의 차이는 무엇입니까?

시스템 메모리는 말 그대로 컴퓨터에 달린 RAM이고,
비디오 메모리는 비디오카드에 있는 RAM입니다.
이론적으론 비디오 메모리가 용량이 작은 대신 속도가 빠르긴 한데...

시스템 메모리에 부른 것을 비디오 메모리에 찍거나,
비디오 메모리에 부른 것을 시스템 메모리에 찍으면
속도가 엄청나게 저하되기 때문에
그냥 용량 큰 시스템 메모리를 쓰고 있습니다. 제 경우에는...

휴웍 경우에는 비디오 메모리 쪽이 훨씬 빠르고
휴웍 자체 그림양이 많지 않아 비디오 메모리를 썼지만,
문라이브는 시스템 메모리를 써도 찍는 속도가 빨라서
별 의미가 없습니다...

일단 중요한 것은 하나로 통일해서 하나만 쓰는 게 좋다는 겁니다.
게임 만들면 반드시 백버퍼가 필요하고(화면 출력 전에 미리그리는 곳),
백버퍼와 불러온 그림들의 메모리 위치가 틀리면 느려지니까요.


2. 흥크립트는 txt파일을 한줄 읽고 처리하고,
또 한줄읽고 처리하나요?
아니면 전부 다 읽고 몇줄씩 한꺼번에 처리하나요?

한줄씩 처리합니다.


3. 한줄읽고 한줄또 읽는 방식이라면 비베와 비슷한것?
그렇다면 그에 따른 속도 저하도 감수하나요?

사실 읽는 것 자체만으론 속도가 그다지 저하되지 않습니다.
게임에서 중요한 것은 매번 60프레임씩 찍어줘야 된다는 거죠.
(특히 문라이브 게임은 초당 100프레임입니다.)
읽는 것은 단발적인 처리로 이런 곳에서는 속도를 조금 소비해도 괜찮습니다.
읽은 후는 흥크립트에서 바로 처리할 수 있는 수치로 변하므로,
반복 처리에는 큰 시간이 들지 않습니다.

단, 소리재생, 좌우변환, 그림숨김 등과 같이
읽은 후 1번만 처리되는 명령문만 계속 된다면
속도가 현저히 저하될 겁니다만...
저렇게 게임을 만들 일은 거의 없겠죠.


4. 한줄읽고 또 읽는 방식이라면,
dlg파일(txt가 암호화된 파일)을 읽을 때
한줄 읽고->암호해석?하고->처리하고
->한줄 또 읽고->암호해석하고->처리하고..
하는 식으로 하는건가요?
그게 아니라면 어떤 식으로?
또 그에 따른 속도 저하도 감수하나요?

dlg를 읽으때는 로드시에 텍스토로 변환해서 메모리로 올립니다.
그러므로 처음 로드에 암호해독 시간이 조금(그래봤자 1초도 안 되는) 걸릴 뿐
txt와 똑같은 속도로 동작합니다.

아아, 그러고보니 혹시 헷갈릴 수 있어 말씀드리자면
txt경우에도 일단 내용은 모두 읽어서 메모리에 올려 둡니다.
왜냐면 파일액세스는 속도가 엄청 느리기 때문이죠.
한줄 씩 처리한다는 것은 그 읽은 내용에서 하나씩 처리한다는 겁니다.

어차피 스크립트가 아무리 길어도 그림 파일 하나만 못하므로
전부 메모리에 올려도 무리는 없습니다.
* 똥똥배님에 의해서 게시물 이동되었습니다 (2008-03-11 14:00)
조회 수 :
1682
등록일 :
2008.01.09
18:37:07 (*.239.)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=2481

장펭돌

2008.03.17
04:37:04
(*.49.200.231)
존내 상세한 답변
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
25 김프로 이미지 맵 만들기 노루발 393   2015-11-11 2015-11-11 08:05
https://docs.gimp.org/en/plug-in-imagemap.html  
24 PHP로 웹게임 만드는 영상 [1] 노루발 389   2021-06-25 2022-01-28 03:40
Simple PHP Strategy Game - YouTube  
23 Love2d 게임 중간에 광고 표시 [1] 노루발 377   2015-11-12 2015-11-17 00:16
http://love2d.org/forums/viewtopic.php?f=11&t=81224  
22 [Lua] Split 노루발 361   2013-09-17 2013-09-17 08:16
상황을 가정해보자. 웹 서버에 부탁해서 유희왕 덱의 리스트를 가져왔다. 원문은 대략 이렇다고 가정하자.   셰이프스내치x3 모린팬x3 트렌트x3 ...    보기엔 이렇지만 이걸 가져오면 아래와 같이 뜰 것이다. (웹 서버니까 HTML로 줌) 셰이프스내치x3<br>모...  
21 멘탈붕괴의 절정을 부르는 파일입출력 노루발 273   2013-09-17 2013-09-17 08:18
Love2D의 love.filesystem.load는 훼이크입니다. 파일을 로드하는 것 같지만 사실 lua 파일을 불러옴. love.filesystem.read도 그리 믿음직하지 못함. (고정 크기의 파일만 읽어옴) 우리가 믿을 수 있는 최후의 보루는 love.filesystem.lines 이었던 것입니다....  
20 love.update(dt) 에서 버벅이는 현상. 노루발 256   2013-09-17 2013-09-17 08:15
윈도우를 잡고 흔들거나 윈도우 사이로 잠시 전환하거나.. 등으로 원치 않는 렉이 발생할 시 dt의 값이 평소보다 크게 들어갑니다. (예를 들면, 평소에 0.25가 들어간다면 이번에는 3.1이 들어갑니다.) 이건 평소보다 더 많이 크기 때문에, dt를 가지고 타이...  
19 Love2d로 만든 로그라이크 예제 노루발 252   2020-11-30 2020-11-30 22:54
https://gitlab.com/Jalexander39/roguelikedev-does-the-complete-roguelike-tutorial 이걸 왜 여태 몰랐지...  
18 Love2d DPI 이슈 해결 [3] 노루발 97   2019-06-29 2019-07-01 06:34
이런 love 프로젝트가 있다고 하자. (conf.lua) function love.conf(t) t.window.width = 640 t.window.height = 360 end 창 크기를 640*480으로 설정한 뒤 실행하면 어떻게 보일까? 당연히 창 크기가 640*480 크기로 보여야겠지만 내 컴퓨터에서는 이렇게 보...  
17 Oracle cloud에 Nginx/MariaDB 설치하기 노루발 93   2020-12-06 2020-12-06 20:19
https://itreport.tistory.com/624  
16 Windows To Go와 R-Studio를 이용한 손실된 데이터 복구하기 노루발 89   2020-01-30 2020-01-30 19:52
하기의 복구 방법으로 모든 자료를 100% 복구할 수는 없으므로 자료의 손실 이전에 신뢰성 있고 주기적인 백업이 선행되어야 한다. 준비물: - 부팅 USB 혹은 외장 HDD/SSD - 복구한 자료를 저장할 외부 저장장치 (옵션) - R-Studio https://www.r-studio.com/ ...  
15 특정좌표를 기준으로 zoom in/zoom out하기 노루발 58   2020-11-11 2020-11-11 01:22
-- x,y - 줌인/줌아웃시 기준점 (좌표 이동이나 scale에 영향받지 않는 순수한 화면 좌표) -- scale - 현재 scale(1:그대로 0.5:1/2 사이즈 2:2배 사이즈) -- scaleinc - 얼마나 scale을 변화시킬것인가 (I usually use 0.1 or -0.1) -- camx - 카메라의 x좌표...  
14 Love2d 게임 안드로이드로 패키징하기 노루발 48   2021-01-11 2021-02-21 01:45
http://hondoom.com/zbxe/index.php?mid=study&document_srl=797993 버전이 바뀌면서 빌드 방법이 바뀌었기에 다시 정리한다. 1. Android studio 설치 https://developer.android.com/studio/index.html SDK 플랫폼 - Android 11.0 [API 30] SDK 버전 - An...  
13 Love2d 이미지 하얗게 그리기 노루발 42   2020-11-23 2020-11-23 04:11
아래와 같은 코드를 사용해 이미지에 색상을 적용할 수 있다. hamster = love.graphics.newImage("hamster.png") love.graphics.setColor(1, 0, 0) -- 빨간색으로 그리기 love.graphics.draw(hamster) love.graphics.setColor(1, 1, 1) 하지만 이미지를 하얗게...  
12 이쁜 눈나가 유니티 개발 알려주는 재생목록 노루발 37   2020-11-12 2020-11-12 05:59
https://www.youtube.com/watch?v=Ur2jN6_si6c&list=PLi-ukGVOag_1lNphWV5S-xxWDe3XANpyE https://www.youtube.com/watch?v=sJClf9S7AMA&list=PLi-ukGVOag_0HR09oTs966Wt81IYYXlFH 유니티를 배우고 있는 건 아닌데 만들어진 라이브러리를 다루는게 아...  
11 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 36   2020-11-06 2020-11-06 20:29
or 연산자를 사용한다. 예제 코드: function moveplayer(direction) direction = direction or "nowhere" print("player moved to ".. direction) end moveplayer() --> "player moved to nowhere" moveplayer("north") -- "player moved to north" 이런 코드...  
10 루아 스타일 가이드 노루발 33   2020-11-19 2020-11-19 00:58
http://lua-users.org/wiki/LuaStyleGuide https://github.com/Olivine-Labs/lua-style-guide  
9 Lua 테이블 안에 함수 저장하기 노루발 28   2020-11-06 2020-11-06 21:07
테이블 안에 함수를 저장할 수 있다. function move(object, direction) print(object .. " moved to ".. direction) end scheduler = {} scheduler.queue = {} function scheduler.newentry(action, args) scheduler.queue[#scheduler.queue + 1] = {} schedu...  
8 Lua 클래스 만들고 활용하기 노루발 23   2020-11-06 2020-11-06 22:43
------------------------ stairs.lua ------------------------ Stairs = {} function Stairs:new(x, y, floor, direction, locked) local newStairs = {x = x, y = y, floor = floor, direction = direction, locked = locked} self.__index = self retur...  
7 illegal character 방지 [3] 노루발 22   2023-07-17 2023-07-19 16:14
문제점: 클라이언트 <-> 서버 통신을 하면서 다음과 같이 메세지를 주고받기로 함 패킷종류|파라미터1|파라미터2 예) MOTDREQ -> 서버에 MOTD를 요청 (파라미터 없음) MOTD|공지사항입니다 -> MOTD는 "공지사항입니다" 임 (파라미터 1개) MSG|김덕배|안녕하세...  
6 Lua-love2d TCP 통신 [1] 노루발 21   2023-07-14 2023-07-22 16:19
서버: Lua 클라이언트: Love2d(Lua) 서버 구동에는 luasocket 라이브러리가 필요하며, luarocks로 설치할 수 있음. 별도 패키지 관리자가 있는 리눅스 시스템에서는 apt-get install lua-socket 등의 패키지 관리자 명령어로 설치 가능하며 Windows에서 구동시...