Merhaba, elinize sağlık, yalnız sağlamından atladığınız konular var. Fixed DPI 300 ün kazandırdığı FPS öyle böyle değil. Burst compiler ha keza öyle. Özel efektlerde Maksimum partikül sayısını limitlemek lazım, bir başka konuda özellikle belli bir seviyeye gelmiş zaman zaman içinde binlerce resim bulunan oyunlarda Unity'nin sunduğu çok güzel bir seçenek var import sırasında çözünürlüğü 512 ile sınırlayıp zorunlu compress yapıyorsunuz. Teker teker uğraşmaktan kurtuluyorsunuz. Ben ASTC kullanıyorum. Autographics API'yı kaldırdığınızda siyah ekran veriyor bazı cihazlarda bana pek alınacak bir risk gibi gelmiyor.
Merhaba, teşekkürler. Videonun sonunda da söylediğimiz gibi saymadığımız sayısız yöntem bulunmaktadır. Tüm optimizasyon tekniklerini kısa bir videoya sığdırmak mümkün değil. Fixed DPI ile yüksek çözünürlüklü ekranlarda çözünürlüğü sınırlamış oluyorsunuz. Bu etkiyi URP'de resolution scale düşürerek veya default render pipeline içerisinde düşük çözünürlüklü render texture kullanarak da elde edebilirsiniz. Bu da optimizasyon konusunun ucu açıklığını göstermektedir. OpenGL ES 2 seçip siyah ekran alıyorsanız bir şeyleri yanlış yapmışsınızdır. Örneğin ASTC; OpenGL ES 2 ile desteklenmez, aynı şekilde ETC2 gibi formatlar desteklenmez. Doğru formatı seçmediğiniz takdirde, hatalı shader veya post process efektleri kullanmanız durumunda siyah ekran alabilirsiniz.
@@lithgames_tr teşekkür ederim bir şey sormak istiyorum yeni teknolojiler ve görüntü kalitesine yönelmek yerine eski teknolojiler ve performansa yönelmek doğru bir yönelim mi peki? Artık piyasada bile olduğundan emin olmadığımız ve dürüst olmak gerekirse bu cihazlara sahip ülkelerin reklamlarından ancak kuruş kazanabileceğimiz gerçeği ortadayken sizce yeni cihazlara sahip zengin ülkelerdeki oyuncuların ilgisini kaybetmeye değer mi aldığımız bu risk
@@mfatihbarutrica ederiz. Burada eski cihazlara ulaşmayı amaçlamıyoruz. Herhangi bir cihaz için pil tasarrufu, daha az ısınma gibi kazanımlar elde ediyoruz. Bu yöntemleri kullanarak Lith Games adı altında yaptığımız oyunlarla 20 milyon, diğer şirket adları altında yaptığımız oyunlarla toplamda 150 milyon kullanıcıya ve cihaza ulaştık. Risk olarak gördüğünüz problemlere rastlamadık. Eğer görüntü kalitesine önem verdiğiniz bir oyun yapıyorsanız ve karmaşık shaderlar, compute shading, modern post process efektleri vb. kullanıyorsanız zaten OpenGL ES 2 bu özellikleri içeren görüntüleri render edemez. Zorunlu olarak daha gelişmiş bir grafik kütüphanesi seçmeniz gerekir. Ancak hyper casual benzeri basit grafikli oyunlar yapıyorsanız zaten kullandığınız shader'lar yüksek ihtimalle OpenGL ES 2 tarafından da desteklenir ve texture kalitesini düşürmediğiniz takdirde hiçbir şekilde kalite kaybı yaşamazsınız, teknik olarak da mümkün değildir. Bir grafik kütüphanesi grafiklerin ne kadar kaliteli render edileceğini belirlemez. Render edeceğiniz grafikler eğer Open GL ES2, ES3.1, Vulkan ve Metal tarafından destekleniyorsa tüm grafik api'lerinde %99.9 oranında aynı görüntü aynı kalitede render edilir. Biz bir seçenek olarak bahsetmek istedik. Herhangi bir developer seçimini kendi ihtiyaçlarına göre yapmalıdır.
@@lithgames_tr Asıl sorun da burası ya... piyasa kendisi bile artık en azından hybrid'e evrilme kararı almışken benim hiç bir zaman benimseyemediğim hypercasual kulvarında kalmak ne kadar doğru bir karar? Samimiyetle söylüyorum bazı hyper oyunları oyuncuya hakaret olarak görüyorum. Eğlendirmek yerine reklam ve vurkaç üzerine odaklanmış bir yapı. Ruhum bile isyan ediyor mantığım bir yana...
Optimizasyon derslerinin çok daha uzunu ve detaylısını farkı konularda olmak üzere çekerseniz Türk geliştiriciler için büyük bir açık kapanır, her türlü ders konusu var ama optimizasyon Türkiye'de hep atlanıyor
Graphics api opengls 2 seçildiğinde unity bu ayarın deprecated edildiği bilgisini veriyor kullanım dışı bu özellik nasıl fayda sağlıyor bilgilendirir misiniz?
Merhaba, OpenGL ES 2.0 Unity tarafından eski kabul edilmektedir ancak kullanım dışı değildir. OpenGL ES 3.1, 2.0 versiyonuna kıyasla çok daha gelişmiş bir grafik kütüphanesidir. Bu gelişmiş özellikler mobil cihazlarda grafik birimine ek yük oluşturabilir. Eğer oyununuzda bu gelişmiş özelliklere ihtiyacınız yoksa OpenGL ES 2.0 kullanarak grafik birimi üzerindeki ek yükten kurtulabilirsiniz.
@@lithgames_tr Öncelikle soruma cevap verdiğiniz için teşekkür ederim, size kendi tecrübe ettiğim şu olayı söyleyebilirim realme c21 android v.11'de opengles 2 seçiliyken oyun açılmıyor opengles 3'e çekince sorunsuz açılıyor. başka telefonlarda da benzer durumlar yaşandığını biliyorum bundan dolayı merak edip sordum benzer problemler yaşayacaklar olursa sebebi bu olabilir
Merhaba, projenizde kullandığınız shader OpenGL ES 2.0 tarafından desteklenmeyen talimatlar içeriyor olabilir. OpenGL ES 2.0, daha sınırlı bir shader modeli sunar ve bazı modern shader özelliklerini desteklemez. Texture sıkıştırma formatınız, ETC yerine ETC2 veya ASTC gibi bir türde işaretlenmiş olabilir. ETC; OpenGL ES 2.0 tarafından desteklenen bir sıkıştırma formatıdır. ETC2 ve ASTC, OpenGL ES 3.0 ve üstü tarafından desteklenen daha yeni ve gelişmiş sıkıştırma formatlarıdır. Eğer projeniz bu formatlardan birini kullanıyorsa bu durum uyumsuzluğa sebep olabilir. Color space "Gamma" yerine "Linear" işaretlenmiş olabilir. OpenGL ES 3.1 destekleyen bir cihaz, OpenGL ES 2.0'ı da desteklemektedir, çünkü OpenGL ES sürümleri geriye dönük uyumluluk prensibiyle tasarlanmıştır.
Gözden kaçırmışsınız sanırım, elbette ki fark oluyor. Ancak mobil oyununuzda birden fazla kalite seçenekleri arasında geçiş yapmıyorsanız, çözünürlüğü kalite seçeneklerinden düşürmek gereksiz kaynak kullanımına sebebiyet veriyor. Bunun yerine texture import ayarlarından yarısına veya çeyreğine düşürerek hem diskte kapladığı alanı azaltabilir hem de bellek kullanımını optimize edebilirsiniz.
Her yerde bulamayacağımız çok güzel teknik bilgiler ve yalın bir anlatım.Devamını bekliyoruz 🙂
İnanılmaz faydalı ve eğitici içerik olmuş. Ellerinize sağlık
Ağzınıza sağlık, bu bilgiler çok değerli
Böyle kaliteli videoların devamını bekliyoruz
Merhaba, elinize sağlık,
yalnız sağlamından atladığınız konular var.
Fixed DPI 300 ün kazandırdığı FPS öyle böyle değil.
Burst compiler ha keza öyle.
Özel efektlerde Maksimum partikül sayısını limitlemek lazım,
bir başka konuda özellikle belli bir seviyeye gelmiş zaman zaman içinde binlerce resim bulunan oyunlarda Unity'nin sunduğu çok güzel bir seçenek var import sırasında çözünürlüğü 512 ile sınırlayıp zorunlu compress yapıyorsunuz. Teker teker uğraşmaktan kurtuluyorsunuz.
Ben ASTC kullanıyorum.
Autographics API'yı kaldırdığınızda siyah ekran veriyor bazı cihazlarda bana pek alınacak bir risk gibi gelmiyor.
Merhaba, teşekkürler. Videonun sonunda da söylediğimiz gibi saymadığımız sayısız yöntem bulunmaktadır. Tüm optimizasyon tekniklerini kısa bir videoya sığdırmak mümkün değil. Fixed DPI ile yüksek çözünürlüklü ekranlarda çözünürlüğü sınırlamış oluyorsunuz. Bu etkiyi URP'de resolution scale düşürerek veya default render pipeline içerisinde düşük çözünürlüklü render texture kullanarak da elde edebilirsiniz. Bu da optimizasyon konusunun ucu açıklığını göstermektedir. OpenGL ES 2 seçip siyah ekran alıyorsanız bir şeyleri yanlış yapmışsınızdır. Örneğin ASTC; OpenGL ES 2 ile desteklenmez, aynı şekilde ETC2 gibi formatlar desteklenmez. Doğru formatı seçmediğiniz takdirde, hatalı shader veya post process efektleri kullanmanız durumunda siyah ekran alabilirsiniz.
@@lithgames_tr teşekkür ederim bir şey sormak istiyorum yeni teknolojiler ve görüntü kalitesine yönelmek yerine eski teknolojiler ve performansa yönelmek doğru bir yönelim mi peki? Artık piyasada bile olduğundan emin olmadığımız ve dürüst olmak gerekirse bu cihazlara sahip ülkelerin reklamlarından ancak kuruş kazanabileceğimiz gerçeği ortadayken sizce yeni cihazlara sahip zengin ülkelerdeki oyuncuların ilgisini kaybetmeye değer mi aldığımız bu risk
@@mfatihbarutrica ederiz. Burada eski cihazlara ulaşmayı amaçlamıyoruz. Herhangi bir cihaz için pil tasarrufu, daha az ısınma gibi kazanımlar elde ediyoruz. Bu yöntemleri kullanarak Lith Games adı altında yaptığımız oyunlarla 20 milyon, diğer şirket adları altında yaptığımız oyunlarla toplamda 150 milyon kullanıcıya ve cihaza ulaştık. Risk olarak gördüğünüz problemlere rastlamadık. Eğer görüntü kalitesine önem verdiğiniz bir oyun yapıyorsanız ve karmaşık shaderlar, compute shading, modern post process efektleri vb. kullanıyorsanız zaten OpenGL ES 2 bu özellikleri içeren görüntüleri render edemez. Zorunlu olarak daha gelişmiş bir grafik kütüphanesi seçmeniz gerekir. Ancak hyper casual benzeri basit grafikli oyunlar yapıyorsanız zaten kullandığınız shader'lar yüksek ihtimalle OpenGL ES 2 tarafından da desteklenir ve texture kalitesini düşürmediğiniz takdirde hiçbir şekilde kalite kaybı yaşamazsınız, teknik olarak da mümkün değildir. Bir grafik kütüphanesi grafiklerin ne kadar kaliteli render edileceğini belirlemez. Render edeceğiniz grafikler eğer Open GL ES2, ES3.1, Vulkan ve Metal tarafından destekleniyorsa tüm grafik api'lerinde %99.9 oranında aynı görüntü aynı kalitede render edilir. Biz bir seçenek olarak bahsetmek istedik. Herhangi bir developer seçimini kendi ihtiyaçlarına göre yapmalıdır.
@@lithgames_tr Asıl sorun da burası ya... piyasa kendisi bile artık en azından hybrid'e evrilme kararı almışken benim hiç bir zaman benimseyemediğim hypercasual kulvarında kalmak ne kadar doğru bir karar? Samimiyetle söylüyorum bazı hyper oyunları oyuncuya hakaret olarak görüyorum. Eğlendirmek yerine reklam ve vurkaç üzerine odaklanmış bir yapı. Ruhum bile isyan ediyor mantığım bir yana...
Ağzınıza sağlık
Optimizasyon derslerinin çok daha uzunu ve detaylısını farkı konularda olmak üzere çekerseniz Türk geliştiriciler için büyük bir açık kapanır, her türlü ders konusu var ama optimizasyon Türkiye'de hep atlanıyor
👏🏼👏🏼
Graphics api opengls 2 seçildiğinde unity bu ayarın deprecated edildiği bilgisini veriyor kullanım dışı bu özellik nasıl fayda sağlıyor bilgilendirir misiniz?
Merhaba, OpenGL ES 2.0 Unity tarafından eski kabul edilmektedir ancak kullanım dışı değildir. OpenGL ES 3.1, 2.0 versiyonuna kıyasla çok daha gelişmiş bir grafik kütüphanesidir. Bu gelişmiş özellikler mobil cihazlarda grafik birimine ek yük oluşturabilir. Eğer oyununuzda bu gelişmiş özelliklere ihtiyacınız yoksa OpenGL ES 2.0 kullanarak grafik birimi üzerindeki ek yükten kurtulabilirsiniz.
@@lithgames_tr Öncelikle soruma cevap verdiğiniz için teşekkür ederim, size kendi tecrübe ettiğim şu olayı söyleyebilirim realme c21 android v.11'de opengles 2 seçiliyken oyun açılmıyor opengles 3'e çekince sorunsuz açılıyor. başka telefonlarda da benzer durumlar yaşandığını biliyorum bundan dolayı merak edip sordum benzer problemler yaşayacaklar olursa sebebi bu olabilir
Merhaba, projenizde kullandığınız shader OpenGL ES 2.0 tarafından desteklenmeyen talimatlar içeriyor olabilir. OpenGL ES 2.0, daha sınırlı bir shader modeli sunar ve bazı modern shader özelliklerini desteklemez. Texture sıkıştırma formatınız, ETC yerine ETC2 veya ASTC gibi bir türde işaretlenmiş olabilir. ETC; OpenGL ES 2.0 tarafından desteklenen bir sıkıştırma formatıdır. ETC2 ve ASTC, OpenGL ES 3.0 ve üstü tarafından desteklenen daha yeni ve gelişmiş sıkıştırma formatlarıdır. Eğer projeniz bu formatlardan birini kullanıyorsa bu durum uyumsuzluğa sebep olabilir. Color space "Gamma" yerine "Linear" işaretlenmiş olabilir. OpenGL ES 3.1 destekleyen bir cihaz, OpenGL ES 2.0'ı da desteklemektedir, çünkü OpenGL ES sürümleri geriye dönük uyumluluk prensibiyle tasarlanmıştır.
1:36 ' dakikada demek istediğiniz FULL RES den HALF RES'e geçirdiğimizde oyun perfonmansı için bir fark olmuyormu yani ?
Gözden kaçırmışsınız sanırım, elbette ki fark oluyor. Ancak mobil oyununuzda birden fazla kalite seçenekleri arasında geçiş yapmıyorsanız, çözünürlüğü kalite seçeneklerinden düşürmek gereksiz kaynak kullanımına sebebiyet veriyor. Bunun yerine texture import ayarlarından yarısına veya çeyreğine düşürerek hem diskte kapladığı alanı azaltabilir hem de bellek kullanımını optimize edebilirsiniz.
@@lithgames_tr bu kadar çabuk cevap verdiğiniz için teşekkür ederim. Gerçekten yararlı bilgiler vermişsiniz, bunun içinde ayrıca teşekkür ederim.