Saya harus menyingkirkan banyak markup yang tidak perlu dalam tampilan. Secara umum, saya mencapainya dengan mengganti file template dalam tema saya, tetapi kali ini tampilan sangat besar dan kinerja turun. Jadi saya bertanya-tanya, apakah ada cara yang lebih berkinerja untuk mengurangi markup? Ketika mengubah markup sebuah node, daripada fungsi preprocess lebih cepat daripada mengesampingkan file template, apakah ada mekanisme analogis untuk tampilan?
Sunting 1: Tentu, alasan kinerja yang lemah bukanlah pengesampingan file templat di tempat pertama, tetapi jika saya dapat mengoptimalkan sedikit di sana, saya harus melakukan itu. Selain itu, saya sering mendapat masalah dengan menonaktifkan markup di UI tampilan itu sendiri: menonaktifkan gaya baris misalnya diabaikan ketika saya menggunakan subtema Omega ...
Sunting 2: Saya mengetahui kemungkinan di dalam Views UI; Apa yang saya cari adalah cara manual dengan kontrol yang baik.
Jawaban:
Anda dapat menghilangkan markup yang tidak perlu melalui UI Tampilan.
Ketika Anda menambahkan bidang, tersembunyi di bawah Pengaturan Gaya, mereka selalu memiliki tanda centang yang tidak perlu ini default
Anda juga dapat menghapus markup lainnya di sini
dan di sini
sumber
Hal ini kadang-kadang lebih performant dengan View untuk menampilkan konten bukan bidang. Ini paling baik digunakan dengan mode tampilan khusus, tempat Anda mengonfigurasi mode tampilan untuk menampilkan bidang yang Anda inginkan. Anda kemudian dapat membuat tampilan mode tampilan itu apa pun yang Anda inginkan melalui templat dan pemformat. Ini cenderung berfungsi dengan baik ketika Anda memiliki Entitycache .
Yang mengatakan, semua sistem berbeda. Benar profiling adalah cara terbaik untuk mencari tahu apa yang perlu waktu. Secara pribadi, saya tidak berpikir bahwa markup tampilan menambahkan waktu yang signifikan untuk eksekusi.
sumber
Sepertinya Anda didorong untuk mengoptimalkan secara prematur. Jika tampilan mengalami masalah kinerja, pastikan caching diaktifkan pada tampilan untuk menghindari rendering HTML dari awal sebanyak mungkin. Itu akan memberikan peningkatan kinerja yang jauh lebih besar daripada hampir semua pengurangan dalam jumlah file yang terlibat dalam proses rendering.
Setelah tema registri dibangun memiliki banyak template yang diganti tidak boleh menjadi hit nyata pada kinerja lebih dari menggunakan default sejak Drupal masih memuat jumlah file yang serupa (saya telah melihat pengecualian untuk ini jika Anda membuat file untuk setiap kemungkinan menimpa di seluruh rantai, jadi jangan lakukan itu).
Jika Anda beralih ke tampilan entitas alih-alih tampilan bidang, Anda mungkin dapat mengurangi jumlah template yang dimuat dan karenanya mendapatkan sedikit peningkatan dalam kecepatan render. Itu mengasumsikan tampilan entitas juga mengambil langkah-langkah untuk menghindari templat tingkat bidang dan / atau kemungkinan sudah di-cache di tempat lain. Kemungkinan ini akan menjadi banyak pekerjaan manusia yang mahal untuk sangat sedikit peningkatan dalam kinerja mesin.
sumber