WitchMendokusai DevLog 05
๐ ์ต์ ํ (๋ผ๊ณ ์ฐ๊ณ ๊ฐํต์ง ์ฐพ๊ธฐ)
๋ด๊ฐ ๋ง๋ ์ปค์คํ
์๋ํฐ์ ํน์ ๊ธฐ๋ฅ์ด ์์ํ ์ ๋๋ก ์ค๋๊ฑธ๋ ธ๋ค. ์ฒด๊ฐ ์ ํ 1์ด ์ ๋ ๊ฑธ๋ฆฌ๋ ๋ฏ..
๊ทธ๋์ ๊ทธ๋ ค๋ ค๋ ํ๊ณ ๋ฐฉ์นํ์๋๋ฐ, ์ปค์คํ
์๋ํฐ ์ด๊ฒ์ ๊ฒ ์ ๋ฆฌํ๊ณ ํ๋ค๋ณด๋ ์ฌ๊ฐ ์ ๊ฒฝ์ฐ์ด๋๊ฒ ์๋๋ค.
์ปค์คํ
์๋ํฐ ์ ๋ฆฌํ๋ ๊น์, ์ด 1์ด๊ฐ ๋์ฒด ์ด๋์ ๋์ค๋ ๊ฑด์ง ์ฐพ์๋ดค๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public void UpdateGrid()
{
Debug.Log($"{nameof(UpdateGrid)}");
grid.Clear();
InitDic(CurType);
Dictionary<int, DataSO> dataSOs = DataSOs[CurType];
DataSOSlots.Clear();
for (int id = 0; id < ID_MAX; id++)
{
if (dataSOs.TryGetValue(id, out DataSO dataSO))
{
MDataSOSlot slot = new((slot) => SelectDataSOSlot(slot));
slot.SetDataSO(dataSO);
DataSOSlots.Add(id, slot);
grid.Add(slot.VisualElement);
}
}
SelectDataSOSlot(DataSOSlots.Values.First());
Repaint();
// Debug.Log($"{nameof(UpdateGrid)} End");
}
์ด๊ณณ์ ๊ณณ ๋ก๊ทธ ์ฐ์ด๋ณด๋ ๋ฌธ์ ์ 1์ด๊ฐ ์์๋๋ ๊ณณ์ ์ด ํจ์.
์ปค์คํ
์๋ํฐ์์ ํน์ ๊ทธ๋ฆฌ๋์ ์์๋ค์ ๋ค์ ๊ทธ๋ ค๋ด๋ ํจ์์ด๋ค. ์ธ๋ฒคํ ๋ฆฌ ๊ฐ์ ๊ฑธ ๋ค์ ๊ทธ๋ ค๋ธ๋ค๊ณ ์๊ฐํ๋ฉด ๋น์ทํ๋ค.
์ฒ์ ๋์ถฉ ํ์ด๋ดค์ ๋ ์ฝ๋์ ์ด์ํ ์ ์ ๋ชป ์ฐพ์์ (์ด๊ฑธ ์ ์ฐพ์์ง),
System.Diagnostics.Stopwatch
๋ฅผ ํตํด ๊ฐ ๋ช
๋ น๋ค์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋์ง ์ฒดํฌํด๋ณด๋ ค๊ณ ํ๋ค.
ํ .. InitDic(CurType)
๋ถ๋ถ์ด ๋ฌธ์ ์ธ๊ฐ? ํ์ผ ํ์์ด๋ผ ์กฐ๊ธ ๊ฑธ๋ฆด ์๋ ์์ ๊ฒ ๊ฐ๊ธดํด..
์๋๋ฉด ๊ทธ๋ฆฌ๋ ์์๋ค ๋ค ์ง์ฐ๊ณ ๋ค์ ์ถ๊ฐํ๋ ๋ถ๋ถ? ์ค๋ธ์ ํธ ํ ์์ด ์์ผ๋ก ๋ง๋ค๊ณ ์ง์์ ๊ฐ๋น์ง๊ฐ ํ ๋ฒ์ ์ซ ์์ฌ๋ฒ๋ฆฌ๋๊ฑด๊ฐ..?
๊ฐ ๋ช
๋ น๋ค ์ฌ์ด์ฌ์ด์ StopWatch
๋ฃ๊ณ ๋ก๊ทธ๋ฅผ ์ฐ์ด๋ดค๋ค.
๊ทธ๋ฐ๋ฐ ์ค์โฆ ๊ฐ ๋ช
๋ น๋ค์๋ 0~10ms ๊ฑธ๋ฆฌ์ง ์๋ ๊ฒ์ด๋ค.
๋ฐ๋ณต๋ฌธ์ ๊ฐ์ธ๋ StopWatch
๋ง 500ms ์ ๋๊ฐ ๊ฑธ๋ฆฌ๋๋ฐ.. ๋ญ์ง?
ํ๊ณ ๋ค์ ๋ฐ๋ณต๋ฌธ์ ๋ณด๋, ์๋ฟ์ธ. ์ด๊ฒ ๋์ฒด ๋ฌด์จ ์ฝ๋์ง?
100_000_000 ์ผ๋ก ์ค์ ํด๋ ID_MAX
๋งํผ ๋ฐ๋ณต๋ฌธ์ ๋๊ณ , ๊ทธ ์์์๋ ๋์
๋๋ฆฌ์ TryGetValue
..?
๊ทธ๋ฅ ๋์
๋๋ฆฌ ์ํํ๋ฉด ๋๋๊ฑฐ ์๋๊ฐ?
๊ทธ๋ ๋ค.
๊ทธ๋ฅ ์ธ์ ๊ฐ ๊ฐํต์ง์ ํ๊ณ ์์ด๋ฒ๋ฆฐ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๋ฐ๋ก ๋ณด์ด๋ ๋ฌธ์ ๋ฅผ ๊ทธ๋์ ๋ฐฉ์นํ๊ณ ์์๋ ๊ฒ์ด๋ค !!
1
2
3
4
5
6
7
8
DataSOSlots.Clear();
foreach ((int id, DataSO dataSO) in dataSOs)
{
MDataSOSlot slot = new((slot) => SelectDataSOSlot(slot));
slot.SetDataSO(dataSO);
DataSOSlots.Add(id, slot);
grid.Add(slot.VisualElement);
}
๋ฐ๋ณต๋ฌธ ๋ถ๋ถ ์์ ํ๊ณ ๋ค์ ๋ก๊ทธ ์ฐ์ด๋ณด๋, ์ญ์ 0~10ms ์ ๋ ๊ฑธ๋ฆฐ๋ค.
์ด๊ฒ๋.. ์ต์ ํ๋ผ๊ณ ํ ์ ์๋๊ฑด๊ฐ?
์๋๋ค.. ์ด๊ฑด ๋๋ฒ๊น
์ด๋ผ๊ณ ๋ณผ ์ ์๊ฒ ๋ค..