Fatti:
A.
La A._ SA ha eseguito le opere da metalcostruttore - in particolare la fornitura e la posa di serramenti con i relativi vetri - nell'ambito dell'edificazione della casa unifamiliare di C._ e B._. L'opera è stata consegnata ai committenti nel mese di gennaio 2006. L'11 dicembre di quell'anno B._ ha segnalato l'aggravarsi di un problema di condensa sui serramenti sia alla A._ SA che all'architetto progettista e direttore dei lavori. Ricevuta la liquidazione finale del 1° ottobre 2007 allestita da quest'ultimo, la A._ SA ha ottenuto il versamento del saldo di fr. 31'017.25, chiesto con la fattura del 6 febbraio 2008.
Poiché i tentativi delle parti di trovare una soluzione al predetto problema sono rimasti infruttuosi, C._ e B._ hanno chiesto, con petizione 5 novembre 2014, al Pretore della giurisdizione di Mendrisio-Sud di condannare la A._ SA a pagar loro fr. 99'100.--, ridotti in corso di causa a fr. 96'127.--, per il minor valore dell'opera dovuto ai difetti dei serramenti. Il Pretore ha, con giudizio 14 marzo 2018, accolto la petizione.
B.
Con sentenza 27 febbraio 2020 la II Camera civile del Tribunale d'appello del Cantone Ticino ha, in parziale accoglimento di un appello della A._ SA, ridotto a fr. 68'969.-- la somma riconosciuta agli attori. La Corte cantonale ha negato che l'azione fosse divenuta perenta in seguito a una notifica tardiva dei difetti o all'accettazione dell'opera e ha considerato contraria alla buona fede la relativa eccezione sollevata dalla convenuta. Ha poi respinto le critiche rivolte contro le modalità di allestimento della perizia, ma ha ritenuto parzialmente fondata la censura secondo cui non tutti i serramenti erano difettosi, diminuendo di conseguenza l'importo a carico della convenuta. Ha invece respinto la censura secondo cui non si giustifica calcolare il minor valore dell'opera in base ai costi di riparazione.
C.
Con ricorso in materia civile del 4 maggio 2020 la A._ SA postula l'annullamento della sentenza cantonale e, in via principale, la sua riforma nel senso che la petizione sia integralmente respinta. In via subordinata domanda il rinvio degli atti all'autorità inferiore affinché questa stralci la perizia giudiziaria e la relativa delucidazione (con l'obbligo del perito di rifondere l'onorario percepito) e nomini un nuovo perito. Sostiene di avere validamente contestato la tempestività della notifica della condensa e rimprovera alla Corte cantonale di avere proceduto a un apprezzamento arbitrario delle prove sulla questione, riconoscendo pure che la segnalazione fosse adeguata anche per quanto riguarda il suo contenuto. Asserisce inoltre che la Corte cantonale avrebbe erroneamente sia disatteso l'argomentazione secondo cui i committenti avevano approvato l'opera sia considerato l'esistenza di una rinuncia a prevalersi di una notifica tardiva dei difetti. Ritiene poi che la perizia giudiziaria non abbia solo delle carenze formali, perché una parte dei rilevamenti sono stati eseguiti dagli attori medesimi, ma sia pure inidonea a comprovare l'esistenza di un difetto, poiché non sarebbe stata riscontrata alcuna violazione di una regola dell'arte. Soggiunge infine che i serramenti forniti erano conformi a quanto pattuito e contesta il minor valore dell'opera determinato dalla Corte di appello.
B._ e C._ propongono, con risposta 2 giugno 2020, la reiezione del gravame.
Il 18 giugno 2020 la ricorrente ha replicato spontaneamente e il 3 luglio 2020 gli opponenti hanno inoltrato pure spontaneamente una duplica.

Diritto:
1.
Il ricorso in materia civile è presentato tempestivamente (art. 100 cpv. 1 in relazione con gli art. 45 cpv. 1, 46 cpv. 1 lett. a LTF e 1 dell'ordinanza sulla sospensione dei termini nei procedimenti civili e amministrativi ai fini del mantenimento della giustizia in relazione al coronavirus [COVID-19; RS 173.110.4]) dalla parte parzialmente soccombente (<ref-law>) nella procedura cantonale ed è volto contro una sentenza finale (<ref-law>) emanata su ricorso dall'autorità ticinese di ultima istanza (<ref-law>) in una causa civile con valore litigioso superiore a fr. 30'000.-- (art. 72 cpv. 1 e 74 cpv. 1 lett. b LTF).
2.
2.1. Il Tribunale federale applica d'ufficio il diritto federale (<ref-law>). Tuttavia, tenuto conto dell'onere di allegazione e motivazione imposto dall'art. 42 cpv. 1 e 2 LTF, di regola considera solo gli argomenti proposti nell'atto di ricorso (<ref-ruling> consid. 1.4; <ref-ruling> consid. 2; <ref-ruling> consid. 1.1). La motivazione dev'essere contenuta nell'atto presentato entro il termine di ricorso: il ricorrente non può validamente completare o migliorare la sua impugnativa con la replica (sentenza 4A_86/2013 del 1° luglio 2013 consid. 1.2.2, non pubblicato in <ref-ruling>; <ref-ruling> consid. 2.2). Ne segue che quest'ultima si rivela in concreto inammissibile, nella larga misura in cui si esaurisce in una completazione dell'argomentazione ricorsuale.
2.2. Il Tribunale federale fonda invece il suo ragionamento giuridico sugli accertamenti di fatto svolti dall'autorità inferiore (<ref-law>), che sono vincolanti. Può scostarsene o completarli solo se sono stati effettuati in violazione del diritto ai sensi dell'<ref-law> o in modo manifestamente inesatto (<ref-law>).
Il ricorrente può censurare l'accertamento dei fatti alle stesse condizioni; occorre inoltre che l'eliminazione dell'asserito vizio possa influire in maniera determinante sull'esito della causa (<ref-law>). Se rimprovera all'autorità cantonale un accertamento dei fatti manifestamente inesatto - arbitrario (<ref-law>) - il ricorrente deve motivare la censura conformemente alle esigenze rigorose poste dall'<ref-law>. Deve indicare chiaramente i diritti costituzionali che si pretendono violati e precisare in cosa consiste la violazione. Non basta opporre il proprio punto di vista alle conclusioni del giudizio impugnato; il Tribunale federale non esamina le critiche di carattere appellatorio (<ref-ruling> consid. 1.3, con rinvii). Siccome il giudice cantonale fruisce di un grande potere discrezionale nel campo dell'apprezzamento delle prove (e dell'accertamento dei fatti in genere), chi invoca l'arbitrio deve dimostrare che la sentenza impugnata ignora il senso e la portata di un mezzo di prova preciso, omette senza ragioni valide di tenere conto di una prova importante suscettibile di modificare l'esito della lite, oppure ammette o nega un fatto ponendosi in aperto contrasto con gli atti di causa o interpretandoli in modo insostenibile (<ref-ruling> consid. 6.2.3 pag. 273; <ref-ruling> consid. 2.3, con rinvii).
3.
3.1. Giusta l'<ref-law> seguita la consegna dell'opera il committente, appena lo consenta l'ordinario corso degli affari, deve verificare lo stato e segnalarne all'appaltatore i difetti. Ove i difetti si manifestassero solo più tardi, dovrà esserne dato avviso tosto che siano scoperti; altrimenti l'opera si ritiene approvata nonostante i difetti stessi (<ref-law>). La legge instaura quindi una finzione di accettazione dell'opera nel caso in cui il committente omette di segnalare tempestivamente i difetti, liberando da ogni responsabilità l'appaltatore per i difetti annunciati tardivamente (sentenza 4A_251/2018 dell'11 settembre 2018 consid. 3.1).
3.1.1. Il committente deve dare l'avviso dei difetti "tosto" la loro scoperta. Può concedersi un breve periodo di riflessione, ma deve decidersi rapidamente. Le circostanze del caso concreto, e in particolare la natura del difetto, sono determinanti per valutare se ha agito in tempo utile (<ref-ruling> consid. 7.2; <ref-ruling> consid. 3b) e non sussiste alcuna regola generale che giustifica di richiedere in maniera rigida, a protezione dell'appaltatore, che il committente proceda a una segnalazione entro 7 giorni dalla scoperta del difetto. In maniera generale può però essere preteso un termine breve per reclamare, qualora sussista il pericolo che, attendendo a notificare il difetto, il danno aumenti (sentenza 4A_399/2018 dell'8 febbraio 2019 consid. 3.2).
3.1.2. Un difetto è considerato scoperto se il committente ne constata l'esistenza con certezza in modo da poter formulare un reclamo sufficientemente motivato. Ciò presuppone che possa misurarne l'importanza ed estensione. I difetti occulti di una cosa si ritengono scoperti al momento in cui il committente acquista la certezza della loro esistenza. Quelli che appaiono progressivamente, nel senso che la loro estensione e la loro intensità aumentano poco a poco, non si reputano dunque scoperti già quando si manifestano i primi indizi, bensì solo quando il committente sia in grado di rilevarne l'importanza e la portata, ciò al fine di evitare che - per non perdere i suoi diritti - questi comunichi ogni bagattella all'appaltatore. Il committente è tenuto a segnalare il difetto solo quando gli sia noto (o debba essergli noto, secondo la buona fede) ch'esso costituisce un inadempimento del contratto e non un fenomeno usuale, che non rappresenta una difformità contrattuale (<ref-ruling> consid. 7.2; <ref-ruling> consid. 2). Il committente non è obbligato a rivolgersi a un esperto, ma può effettuare la segnalazione sulla base di una semplice supposizione, prima che il difetto sia stato constatato con certezza e dunque prima ancora che il termine in discussione cominci a decorrere (sentenza 4A_293/2017 del 13 febbraio 2018 consid. 2.2.3).
3.1.3. Nel suo avviso il committente deve indicare quali difetti ha scoperto, nonché esprimere la volontà di non riconoscere che l'opera è conforme al contratto e di renderne l'appaltatore responsabile. Occorre una certa precisione per quanto concerne la descrizione del difetto, una generica esternazione d'insoddisfazione non essendo sufficiente (sentenza 4A_251/2018 dell'11 settembre 2018 consid. 3.2). Basta per contro indicare gli effetti negativi riscontrati (sentenza 4A_82/2008 del 29 aprile 2009 consid. 6.1 con rinvio).
3.1.4. Sapere quando il difetto è stato scoperto e determinare il contenuto delle dichiarazioni del committente riferite ai difetti constatati e il momento in cui sono state esternate è una questione di fatto. Per contro sapere se ha agito in tempo utile e se ha espresso chiaramente quali elementi dell'opera ritiene difettosi è una questione di diritto (sentenza 4A_251/2018 dell'11 settembre 2018 consid. 3.4; DTF <ref-ruling> consid. 2).
3.2. Referendosi alla tempestività della notifica dei difetti, la Corte cantonale ha dapprima rimproverato alla convenuta di non essersi sufficientemente confrontata con le difficoltà di inquadramento della problematica della condensa - non considerata un fenomeno continuativo - riportate nella sentenza pretorile e ha dichiarato la censura inammissibile. Ha però aggiunto a titolo abbondanziale che la condensa è stata causata da un difetto occulto (carente taglio termico nei serramenti) di non facile identificazione, che essa era scomparsa con l'aumento della temperatura esterna per ripresentarsi in inverno e che avrebbe anche potuto essere un semplice fenomeno passeggero dovuto a condizioni particolari, come l'umidità che contraddistingue inizialmente le nuove costruzioni. Ha quindi ritenuto che la notifica della problematica nel dicembre 2006 era tempestiva, in particolare tenendo conto del fatto che per stessa ammissione dell'appaltatrice nel mese di novembre 2006 vigevano temperature relativamente miti. Inoltre l'attribuzione dell'origine del fenomeno alla difettosità dei serramenti era stata acclarata unicamente con la perizia privata 30 marzo 2011.
L'autorità inferiore ha pure condiviso la considerazione del Pretore secondo cui il contenuto dell'e-mail adempie i requisiti di una valida notifica del difetto. Ha segnatamente indicato che l'obbiezione secondo cui dalla contestata notifica risulterebbe una limitazione dei difetti ai serramenti dei piani superiori costituisce una semplice opinione e sarebbe tardiva perché sollevata unicamente nelle conclusioni.
3.3. La ricorrente contesta di avere motivato in modo carente il suo appello e rimprovera alla Corte cantonale un apprezzamento arbitrario delle prove, affermando che questa si è unicamente basata sull'interrogatorio dell'attrice, che il 6 agosto 2010 il patrocinatore della controparte aveva scritto che la condensa era già apparsa dopo la consegna della casa nel gennaio 2006, che nei primi mesi di quell'anno le temperature erano molto basse e quindi favorevoli alla sua comparsa e che la stessa perizia giudiziaria avrebbe indicato che essa si manifestava sempre nei mesi di gennaio e febbraio e per molti giorni nei mesi di novembre e marzo. In ogni caso, soggiunge la ricorrente, il fenomeno era già percepibile dal mese di novembre 2006, ragione per cui la notifica dell'11 dicembre 2006 era tardiva.
Essa ritiene pure insufficiente il contenuto della notifica, perché i committenti si sarebbero limitati a sollevare dubbi e a chiedere possibili soluzioni, e afferma che la Corte cantonale avrebbe dovuto esaminare d'ufficio l'estensione della segnalazione.
3.4. Per quanto attiene alla tempestività della notifica dei difetti, la censura diretta contro l'apprezzamento delle prove, di natura meramente appellatoria, si rivela inammissibile. La ricorrente nemmeno si confronta con le considerazioni della Corte cantonale secondo cui la condensa, anche se già apparsa all'inizio dell'anno per poi scomparire nei mesi più caldi, non poteva a quel momento essere imputata a un particolare imprenditore e che non vi era alcuna concreta indicazione secondo cui già nel mese di novembre 2006, nonostante le temperature relativamente miti, si fosse ampiamente manifestata. Per il resto giova ricordare che il Tribunale federale ha già avuto modo di statuire, in un caso di difetti per umidità scoperti all'inizio di dicembre e comunicati qualche giorno prima del 15 dicembre, che la notifica era tempestiva (sentenza 4C.379/2001 del 3 aprile 2002 consid. 2b). In queste circostanze non occorre quindi esaminare se anche l'altra motivazione della sentenza impugnata, secondo cui l'appello non era sufficientemente motivato, è pure conforme al diritto federale.
Anche la critica ricorsuale riferita al contenuto della notifica va disattesa. Quest'ultima soddisfa infatti i requisiti posti dalla giurisprudenza, atteso che il committente, nella e-mail in questione inviata pure all'appaltatrice, dopo aver specificato che il fenomeno della condensa " ha assun to dimensioni preoccupanti" e menzionato i serramenti, ha indicato di aspettare " soprattutto soluzioni ".
4.
4.1. La Corte cantonale ha, come già il Pretore, pure escluso un'accettazione dell'opera per atti concludenti. Ha rilevato che l'architetto dei committenti, seppure incaricato della liquidazione finale e della direzione dei lavori, non poteva accettare l'opera e che il preavviso favorevole o l'indicazione al committente di procedere al pagamento dell'appaltatore riguardano i rapporti di dare e avere fra le parti e non gli obblighi e i diritti in caso di difetti. A seguito della notifica dell'11 dicembre 2006 non è nemmeno possibile ammettere che la liquidazione sia avvenuta senza riserve. Inoltre a quell'epoca il difetto non era noto ai committenti, che conoscevano solo le sue conseguenze e non potevano quindi approvare qualcosa che ancora ignoravano. Essi, conclude la Corte cantonale, non erano del resto nemmeno obbligati a decidere immediatamente se e come procedere nei confronti dell'appaltatrice.
4.2. La ricorrente afferma che il riconoscimento senza riserve della liquidazione finale dopo la consegna dell'opera e la notifica dei difetti costituisce un'accettazione dell'opera per atti concludenti. Poiché l'architetto dei committenti ha dichiarato di aver svolto le prestazioni integrali secondo le norme SIA 102, questi li avrebbe rappresentati "di diritto" verso i terzi.
4.3. Con la predetta argomentazione la ricorrente trascura il fatto che, in base ai vincolanti accertamenti della Corte cantonale, solo con la perizia privata del 30 marzo 2011 gli opponenti hanno avuto la certezza che il problema della condensa era imputabile alla difettosità dei serramenti (sopra, consid. 3.2). La notifica dell'11 dicembre 2006 costituiva quindi una cosiddetta notifica preventiva, basata su una semplice supposizione (sopra consid. 3.1.2 in fine). In queste circostanze, non considerando il pagamento della fattura del mese di febbraio 2008 (e delle operazioni che l'hanno preceduta), come un'accettazione tacita dell'opera difettosa, la Corte cantonale non ha violato il diritto federale.
Così stando le cose non occorre esaminare se, come pure ritenuto dalle istanze cantonali, la ricorrente, provvedendo a eseguire nel 2012 dei lavori tendenti alla risoluzione del problema della condensa, abbia pure rinunciato a prevalersi di una notifica tardiva dei difetti.
5.
5.1. La Corte cantonale ha poi negato che la perizia giudiziaria fosse affetta da carenze formali, che ne giustificherebbero un nuovo espletamento da parte di un altro perito e che ne renderebbero inutilizzabili i risultati. Per quanto riguarda il rimprovero mosso al perito di non aver accertato personalmente tutti i dati climatici, l'autorità inferiore ha ritenuto la censura inammissibile, in mancanza di una contestazione dell'ordinanza 4 dicembre 2017 con cui il Pretore si era occupato della questione. Ha poi aggiunto - a titolo abbondanziale - che in ogni caso il perito aveva redatto personalmente la perizia, basandosi sia su dati rilevati personalmente, sia su informazioni fornite da altre persone, dove ritenute attendibili.
5.2. La ricorrente sostiene di avere formulato un'adeguata censura in appello e lamenta nuovamente un rilevamento irregolare dei dati climatici. A torto. Contrariamente a quanto affermato nel ricorso, il Pretore si era espresso sulla validità dei rilevamenti dei dati climatici da parte dei committenti ed essa non ha validamente impugnato l'ordinanza 4 dicembre 2017. Infatti, in tale decisione il giudice di primo grado ha segnatamente rilevato che gli accertamenti pretesi dall'appaltatrice (e cioè che il perito si recasse più volte al giorno nell'abitazione in questione a effettuare i rilevamenti) sarebbero stati "invasivi ed in ogni caso sproporzionati a fronte della perizia giudiziaria e dell a tipologia della procedura". Ora, la ricorrente omette d'indicare dove si sarebbe confrontata con tale considerazione e con quella, pure riportata nella citata ordinanza, secondo cui il comportamento dei committenti sarebbe secondario rispetto alla difettosità dei serramenti. Poiché la prima motivazione della sentenza impugnata regge, non occorre esaminare se pure quella abbondanziale è conforme al diritto federale.
6.
L'opera fornita dall'appaltatore è difettosa se è priva di una delle qualità pattuite espressamente o tacitamente fra le parti o se le manca una qualità che il committente poteva attendersi secondo le regole della buona fede (<ref-ruling> consid. 4; <ref-ruling> consid. 5a/aa). Se l'opera viene utilizzata in modo usuale, essa deve corrispondere almeno alle regole dell'arte riconosciute o a uno standard equivalente. Sapere se nel caso concreto esiste una regola professionale, un uso o una regola dell'arte è una questione di fatto (cfr. <ref-ruling> consid. 3.1). L'esistenza di tali regole o usi può essere stabilita con ogni mezzo di prova, in particolare mediante una perizia (sentenza 4A_428/2007 del 2 dicembre 2008 consid. 3.1).
Se l'autorità inferiore ritiene la perizia concludente e fa proprie le sue risultanze, il Tribunale federale accoglie la censura di apprezzamento arbitrario delle prove unicamente se il perito non ha risposto ai quesiti posti, se le sue conclusioni sono contraddittorie o se in altro modo la perizia è inficiata da vizi talmente evidenti e riconoscibili senza conoscenze specifiche che il giudice non poteva semplicemente ignorarli. Non spetta al Tribunale federale verificare se tutte le affermazioni del perito sono esenti da arbitrio: esso si limita a controllare se l'autorità inferiore poteva, senza arbitrio, aderire alle conclusioni del perito (sentenza 4A_517/2017 del 2 ottobre 2018 consid. 4.2; 4A_551/2015 del 14 aprile 2016 consid. 4.1; cfr. anche <ref-ruling> consid. 6.1).
6.1. La Corte cantonale ha indicato che il Pretore ha condiviso le conclusioni peritali e, dopo aver in parte ritenuto irricevibili le censure della convenuta, ha riportato e ritenuto attendibile quanto constatato dal perito giudiziario, il quale ha segnatamente riscontrato l'assenza dei necessari tagli termici nei serramenti e un insufficiente isolamento termico. Soggiunge che, in base alla perizia e alla deposizione di un architetto, la necessità d'inserire tagli termici nei serramenti di alluminio per interrompere flussi o ponti termici era già nota e usuale una ventina di anni fa. Ha concluso che i serramenti privi di tagli termici efficaci differiscono sia da quanto ragionevolmente esigibile che da quanto pattuito.
6.2. La ricorrente afferma che l'assenza di tagli termici su determinati infissi dei serramenti non violerebbe alcuna regola dell'arte generalmente riconosciuta né differisce da quanto pattuito fra le parti, atteso che l'offerta prevedeva unicamente dei tagli termici nei profili di alluminio.
6.3. In concreto la censura, di natura meramente appellatoria, si rivela inammissibile. La ricorrente si limita infatti a contrapporre la sua opinione agli accertamenti peritali fatti propri dalla Corte cantonale, dimenticando inoltre che questa si è pure basata sulla deposizione di un architetto per stabilire l'uso di interrompere la conducibilità termica nei serramenti di alluminio. Invero l'appaltatrice accenna a una presunta contraddizione del perito, ma ancora una volta non soddisfa i requisiti posti a una censura contro l'apprezzamento delle prove. Potendo l'esistenza di un difetto già essere riconosciuta sulla base dell'uso di munire di tagli termici i serramenti di alluminio, non occorre esaminare se, come indicato nella sentenza impugnata, l'opera sia anche difforme da quanto espressamente pattuito dalle parti o dilungarsi sul comportamento degli abitanti della casa.
7.
La diminuzione della mercede ai sensi dell'<ref-law> avviene in applicazione del cosiddetto metodo relativo, e cioè proporzionalmente al rapporto tra il valore dell'opera senza difetti, che si presume pari alla mercede convenuta, e il valore dell'opera difettosa, il cui minor valore è presunto corrispondere ai costi di riparazione (<ref-ruling> consid. 4a; <ref-ruling> consid. 3). Tale metodo tende a ristabilire l'equilibrio fra le prestazioni, che è alla base dei contratti sinallagmatici (sentenza 4C.346/2003 del 26 ottobre 2004 consid. 4.3.1; <ref-ruling>).
Una presunzione di fatto non comporta un'inversione dell'onere della prova, ma concerne l'apprezzamento delle prove (<ref-ruling> consid. 3.2) e attenua l'onere della parte a cui spetta provare un fatto. La parte gravata dall'onere probatorio può infatti fornire la prova - principale - richiamando la presunzione di fatto (<ref-ruling> consid. 3.2.2). Per invalidare quest'ultima, la controparte non deve apportare la prova del contrario, ma può limitarsi a sollevare giustificati dubbi sulla correttezza degli indizi (base della presunzione) o delle conclusioni trattene (conseguenza della presunzione). Se ciò le riesce, la prova non è stata apportata con la presunzione di fatto (sentenza 4A_183/2020 del 6 maggio 2021 consid. 4.1). Per suscitare tali dubbi vengono richiesti indizi di un certo spessore (cfr. ad esempio in materia di locazione la sentenza 4A_183/2020 del 6 maggio 2021 consid. 4.3.1, destinato alla pubblicazione, nel quale per infirmare la presunzione di una pigione iniziale abusiva vengono menzionate la presentazione di statistiche non ufficiali e/o diversi locali paragonabili alla cosa locata o una perizia).
7.1. La Corte cantonale ha richiamato il metodo relativo, constatato che il valore dell'opera senza difetti era pacifico e ha indicato che, secondo la presunzione di fatto, il valore dell'opera difettosa va parificato ai costi di riparazione, i quali, in base alla perizia giudiziaria, ammontano al costo di sostituzione dei serramenti difettosi, che oscilla fra fr. 151'000.-- e fr. 180'000.--. Ha pure osservato che la riduzione di fr. 96'127.-- chiesta dagli attori era inferiore alla mercede totale per le prestazioni effettuate dall'appaltatrice, che si eleva a fr. 197'797.25. Riferendosi alle obbiezioni sul valore dell'opera difettosa, essa ha rimproverato alla convenuta di essersi limitata ad affermare che il valore dei serramenti non può essere nullo e di non avere suggerito validi metodi di calcolo alternativi o proposto prove relative al valore residuo, se del caso ponendo delle domande al perito. Ha pure considerato che non esistono elementi che infirmano la presunzione, essendo una continua asciugatura inappropriata e la posa di deumidificatori inidonea a risolvere la situazione dal profilo dell'isolamento termico dell'edificio.
7.2. La ricorrente sostiene che l'autorità inferiore avrebbe ignorato che per infirmare la suddetta presunzione bastano semplici prove contrarie e ribadisce che il valore residuo dei serramenti, ritenuti funzionali perché utilizzati da anni, non può essere nullo. Afferma che come criterio per determinare il minor valore dev'essere utilizzato "il costo degli inconvenienti causati dalla carenza di taglio termico" e cioè il costo di alcune centinaia di franchi per l'acquisto di deumidificatori e fr. 5'000.-- per l'insufficiente isolamento termico.
7.3. Nella fattispecie la ricorrente non può essere seguita quando suggerisce che la Corte cantonale avrebbe invertito l'onere della prova. Questa non ha violato il diritto federale escludendo che, con la predetta esternazione sul valore residuo dei serramenti, siano stati forniti elementi da creare giustificati dubbi sulla correttezza della presunzione. L'autorità inferiore poteva quindi fondarsi su quest'ultima. Giova infine aggiungere che il proposto risarcimento del costo provocato dagli inconvenienti causati dai serramenti difettosi manifestamente non costituisce un modo per ristabilire l'equilibrio fra le prestazioni del contratto ed è quindi del tutto inidoneo a dimostrare una violazione dell'<ref-law>.
8.
Da quanto precede discende che il ricorso, nella misura in cui risulta ammissibile, si rivela infondato e va quindi respinto. Le spese giudiziarie e le ripetibili seguono la soccombenza (art. 66 cpv. 1 e 68 cpv. 1 LTF).

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
Le spese giudiziarie di fr. 4'000.-- sono poste a carico della ricorrente.
3.
La ricorrente verserà agli opponenti la somma di fr. 5'000.-- a titolo di ripetibili per la procedura innanzi al Tribunale federale.
4.
Comunicazione ai patrocinatori delle parti e alla II Camera civile del Tribunale d'appello del Cantone Ticino.