Unity常用面試問題

GC針對的誰

new對象的時候,產生新對象

GC是發生在什么時候

主動調collect接口以及內存分配不足的時候

如何避免gc

別new對象

GC的過程,為什么耗時

每一次GC會經歷以下過程,堆上的對象越多,對象的引用越多,意味著GC所做的工作越多
1:GC會檢查堆上所有的對象
2:GC會檢查所有這些對象的引用是否仍在作用域
3:每個不在作用域的對象都會被標記為待刪除
4:GC刪除每個待刪除的垃圾對象

移動端的優化

GC,UGUI合批,網格重建,跨語言調用,IO,預制體加載大小(特效動態加載),ab包分類

卡牌魚眼列表的實現

利用Horizontal Layout Group的控制自己縮放特性和item的縮放來修改content大小,監聽鼠標事件

全面屏手機為什么可以自適應,自適應是怎么處理的

水滴屏:
修改父節點的anchorMin,跳過水滴

safeAreaRect.offsetMin = Vector2.zero;
safeAreaRect.offsetMax = Vector2.zero;
var resolution = canvas.pixelRect.size;
var offsetX = resolution.x - safeArea.width;
var offsetY = resolution.y - safeArea.height;
safeAreaRect.anchorMin = new Vector2(offsetX / resolution.x, offsetY / resolution.y);
safeAreaRect.anchorMax = new Vector2((resolution.x-offsetX)/ resolution.x, (resolution.y-offsetY)/ resolution.y);

有一個按鈕點擊了沒有反應為什么 pc和手機上

raycast沒勾選,被別人擋住了

c#的字典是什么實現的

Hash算法

無限列表的實現,格子劃完超過1之后的做法,不需要每個設置數據,進去的一行設置位置就行了。滑到下面去怎么跟index變化進行對應

建個字典用數據索引和transform緩存

大地圖劃的很快,或者一下子縮小會不會看到一個圖片沒有加載出來或者一個空的地方

用九宮格加載和精確度低的圖片解決

相機裁剪的流程

先在世界空間下剔除完全不在范圍內的,然后在光柵化出像素點后裁剪

為什么函數出來后值類型離開后會自動釋放

因為值類型是復制的,出棧后棧頂指針收縮復用那片區域,引用是在堆里面

stringbuilder實現

字符數組

texture導入的設置重要的設置

可讀可寫,類型,大小,壓縮格式,minmap是否開啟(開了增加內存,不開分辨率過高增加渲染壓力,顯存過大,傳遞數據drawcall更多)

頭頂UI的優化技巧

1.使用3D做法,避免坐標轉換,可以使用job放在其他線程處理旋轉縮放,位置,缺點canvasgroup,以及布局組件之類的不好使用
2.判斷視野范圍內才更新
3.超過一定距離卸載,跟相機的距離
4.根據距離遠近分幀更新
5.需要時更新,怪物移動以及相機更新
6.加載的時候分幀加載,避免同一幀創建多個

TCP和UDP

tcp:按序到達,實時性沒udp強,要連接才能發送,雙向通信
udp:無法保證順序,單向通信

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63481.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63481.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63481.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Linux上將 `.sh` 腳本、`.jar` 包或其他腳本文件添加到開機自啟動

在Linux上將 .sh 腳本、.jar 包或其他腳本文件添加到開機自啟動 在Linux環境中,有時需要將一些程序、腳本或應用程序設置為開機時自動啟動。這對于那些需要在系統啟動時啟動的服務或應用非常有用。本文將介紹如何將 .sh 腳本、.jar 包或其他腳本文件添加到Linux系統…

Git使用步驟

Git 是一個分布式版本控制系統,廣泛用于軟件開發和其他需要跟蹤文件變更的項目。以下是 Git 的基本使用方法和一些常用命令的詳細說明。 安裝 Git 在大多數操作系統上,你可以通過包管理器安裝 Git: Windows: 下載并安裝 Git for Windows。…

詳細指南:在Ubuntu 20.04上安裝和配置Orbbec SDK及USB設備權限

詳細指南:在Ubuntu 20.04上安裝和配置Orbbec SDK及USB設備權限 在Ubuntu 20.04上安裝和配置Orbbec SDK以及進行USB設備的權限配置和調整USBFS緩存大小,涉及到一系列系統配置和環境準備步驟。以下是詳細的步驟說明,以確保準確和高效地設置開發…

【GCC】2015: draft-alvestrand-rmcat-congestion-03 機器翻譯

騰訊云的一個分析,明顯是看了這個論文和草案的 : 最新的是應該是這個 A Google Congestion Control Algorithm for Real-Time Communication draft-ietf-rmcat-gcc-02 下面的這個應該過期了: draft-alvestrand-rmcat-congestion-03

計算機網絡技術基礎:5.數據通信系統

一、數據通信的基本概念 1.信息 信息是對客觀事物的運動狀態和存在形式的反映,可以是客觀事實的形態、大小、結構、性能等描述,也可以是客觀事物與外部之間的聯系。信息的載體可以是數字、文字、語音、圖形和圖像等。計算機及其外圍設備產生和交換的信息…

STM32中ADC模數轉換器

一、ADC簡介 ADC模擬-數字轉換器 ADC可以將引腳連續變化的模擬電壓轉換為內存中存儲的數字變量,建立模擬電路到數字電路的橋梁 12位逐次逼近型ADC,1us轉換時間 輸入電壓范圍: 0~3.3V,轉換結果范圍:0~4095 18個輸入…

醫療領域的網絡安全預防:保障患者隱私與醫療數據安全

醫療領域的網絡安全預防:保障患者隱私與醫療數據安全 隨著信息技術的不斷發展和醫療行業的數字化轉型,網絡安全在醫療領域變得愈加重要。醫療行業處理著大量的敏感數據,包括患者的個人信息、醫療記錄、診療方案等,這些數據一旦被…

【數字圖像處理】期末綜合知識點總結 ver1,灰度圖像,圖像增強,平滑濾波,銳化濾波,圖像復原,圖像壓縮

關注作者了解更多 我的其他CSDN專欄 過程控制系統 工程測試技術 虛擬儀器技術 可編程控制器 工業現場總線 數字圖像處理 智能控制 傳感器技術 嵌入式系統 復變函數與積分變換 單片機原理 線性代數 大學物理 熱工與工程流體力學 數字信號處理 光電融合集成電路…

.NET 技術 | 調用系統API創建Windows服務

01閱讀須知 此文所提供的信息只為網絡安全人員對自己所負責的網站、服務器等(包括但不限于)進行檢測或維護參考,未經授權請勿利用文章中的技術資料對任何計算機系統進行入侵操作。利用此文所提供的信息而造成的直接或間接后果和損失&#xf…

【Qt】QWidget中的常見屬性及其功能(二)

目錄 六、windowOpacity 例子: 七、cursor 例子: 八、font 九、toolTip 例子: 十、focusPolicy 例子: 十一、styleSheet 計算機中的顏色表示 例子: 六、windowOpacity opacity是不透明度的意思。 用于設…

Elasticsearch02-安裝7.x

零、文章目錄 Elasticsearch02-安裝7.x 1、Windows安裝Elasticsearch (1)JDK安裝 Elasticsearch是基于java開發的,所以需要安裝JDK。我們安裝的Elasticsearch版本是7.15,對應JDK至少1.8版本以上。也可以不安裝jdk,…

php學習資料分享

php學習資料分享:夸克網盤分享

UWA Gears V1.0.5|新增Thread Load指標

UWA Gears 是UWA最新發布的無SDK性能分析工具。針對移動平臺,提供了實時監測和截幀分析功能,幫助您精準定位性能熱點,提升應用的整體表現。 本次版本更新主要是新增了Thread Load指標,幫助大家更直觀地了解多線程任務的負載分布情…

IAR中如何而將定義的數組放在指定的位置

在keil中可以使用下面的方法將數組定義到指定的位置 uint8_t g_usart_rx_buf[USART_REC_LEN] __attribute__ ((at(0X20001000)));但是這個方法在IAR中是用不了的,通過網上查找各種資料,發現了兩種可用的方法。我這里測試的單片機是stm32f103c8t6,其他單…

共創共建!葡萄城 SpreadJS 完成 HarmonyOS NEXT 操作系統兼容認證

最新技術資源(建議收藏) https://www.grapecity.com.cn/resources/ 近日,華為“企業工作必備應用鴻蒙化論壇”在北京圓滿落幕,論壇匯聚了眾多行業精英和合作伙伴,聚焦討論企業數字化轉型與原生鴻蒙生態融合等話題。葡萄…

hpe服務器更新陣列卡firmware

背景 操作系統:RHEL7.8 hpe服務器經常出現硬盤斷開,陣列卡重啟問題,導致系統hang住。只能手動硬重啟。 I/O error,dev sda smartpqi 0000:5c:00:0: resettiong scsi 1:1:0:1 smartpqi 0000:5c:00:0: reset of scsi 1:1:0:1:…

websocket的心跳檢測和斷線重連

心跳檢測和斷線重連可以通過WebSocket的事件和屬性來實現。以下是一個簡單的JavaScript示例,使用WebSocket API實現心跳檢測和斷線重連的功能: let ws;function connectWebSocket() {ws new WebSocket(ws://your-websocket-server-url);ws.onopen fun…

ES6學習Symbol(五)

這里寫目錄標題 一、概述二、代碼 一、概述 ES6引入了一種新的原始數據類型Symbol,表示獨一無二的值。 它是 JavaScript 語言的第七種數據類型,前六種是: undefined 、 null 、布爾值(Boolean)、字符串(St…

Spark-Streaming容錯語義

一、背景 為了理解Spark Streaming提供的語義,我們先回顧西Spark RDD的基本容錯語義學。 RDD是一個不可變的、確定性可重新計算的分布式數據集。每個RDD都記住在容錯輸入數據集上用于創建它的確定性操作的沿襲。如果RDD的任何分區由于工作節點故障而丟失&#xff…

AmpliconSuite-pipeline

AmpliconSuite-pipeline: 多線程支持的端到端工具,用于從配對端全基因組測序數據分析局部拷貝數擴增(如ecDNA或BFB) AmpliconSuite-pipeline 是一個多線程支持的端到端工具,用于 AmpliconArchitect 和 AmpliconClassifier,以支持從配對端全基因組測序數據分析局部拷貝數擴…