看板 GameDesign 關於我們 聯絡資訊
drophead520: 我個人偏好想用c++自己寫server,處理資料庫連接寫入 04/22 00:15
drophead520: 取出和遊戲邏輯和客戶端server互傳 server,無奈實體d 04/22 00:15
drophead520: emo教學沒有,猶如瞎子摸象 04/22 00:15
drophead520: arcalet 書我有買,但cloud型的發展很難擴充其他系統 04/22 00:20
drophead520: 請問我的方向是學c++ socket寫server ,然後用客戶 04/22 04:34
drophead520: 端c#用tcp,udp互傳遊戲資料到這個c++ socket ,在用 04/22 04:34
到這裡其實都沒錯
drophead520: 這隻socket寫進和讀取資料庫和傳到客互端,這樣概念 04/22 04:34
這裡 你提到讀寫資料庫 所以我認為有必要提醒一下
drophead520: 正确嗎? 04/22 04:34
正常的做法 是不會對資料庫做頻繁讀寫 像是1秒讀寫入一次 或是客戶端每做一個動作就讀寫入一次 資料庫也有著資料同步的問題 所以寫跟讀是有先後順序的 並非同時進行 就算只搜尋索引 DB還是會去對資料做hash檢查 而資料庫基本上是還是檔案 讀取跟寫入的效能一樣受限於檔案系統的效能 如果遠端的話 就受限於網路通訊的效率 不曉得你是不是程式底 看過很多開發者都是用硬幹的 一筆一筆寫入資料庫 效能可想而知(根本科科) 所以請善用資料結構 使用超大陣列來提升效能 資料庫的部分固定時間批次寫入即可 資料庫只是用來伺服器剛開機的初始化和資料備份 這是基本 除非你的遊戲不是很即時 或者玩家人數不多 或是DB連線數開到數十萬 亦或是將資料庫分散 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.36.21 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1429671302.A.A92.html ※ 編輯: cowbaying (111.255.36.21), 04/22/2015 11:19:46
LayerZ: 推這篇,DB讀寫非常耗效能 04/22 11:17
drophead520: 謝謝你的回文對我幫助很大感謝 04/22 11:32
bearkitten: 請愛用nosql, 而且現在大型資料庫很少不切master-slav 04/22 20:52
bearkitten: e, 只要前面自己再實作個排程即可,時代在進步,不需 04/22 20:52
bearkitten: 要還一直用舊方法... 04/22 20:52
可能我把一些額外的東西濃縮在最後四行裡 方法有很多 但都是從基本衍生出來的我想這點沒異議 因為遊戲還是需要考量到較強的資料一致性問題 所以還是從基本做起吧 ※ 編輯: cowbaying (59.127.231.87), 04/22/2015 21:45:59