Cache: CVMetalTextureCache?

    var sourceTexture: MTLTexture!

    var commandBuffer: MTLCommandBuffer?

    lazy var commandQueue: MTLCommandQueue =
        {
            [unowned self] in

            return self.device!.makeCommandQueue()
            }()!
   ...

override init(frame frameRect: CGRect, device: MTLDevice?)
{
    super.init(frame: frameRect,
               device: device?? MTLCreateSystemDefaultDevice())

    if super.device == nil
    {
        fatalError("Device doesn't support Metal")
    }

    CVMetalTextureCacheCreate(kCFAllocatorDefault, nil, self.device!, nil, &textureCache)

    framebufferOnly = false

    enableSetNeedsDisplay = true

    isPaused = true

    preferredFramesPerSecond = 30

    commandBuffer = commandQueue.makeCommandBuffer()

}

Then I of course remove the definition of commandBuffer in my draw function.

A:

This warning is related to MTLBuffers, not MTLCommandBuffers.
You should certainly not proactively create a command buffer in your initializer. Create command buffers precisely when you're about to encode GPU work (i.e. as you were doing initially, in your draw method).
As for the diagnostic message, it's probably the case that Core Image is creating a temporary buffer on your behalf when rendering your image. There isn't much you can do about this, but depending on the size of the buffer and the frequency of drawing, it probably isn't a big deal.

 Q:

TechQues using English.SE content without proper attribution

TechQues is reposting SE content but plastered with their own adverts. For example, this:
 * http://www.techques.com/question/32-69210/What-is-the-best-term-to-categorize-a-lolcat-image-and-text
... is reposting content from this:
 * What is the best term to categorize a lolcat image and text?
... without proper attribution. They include this footer:

The content is from serverfault.com, superuser.com and stackoverflow.com, 
  
Cache: CVMetalTextureCache? 

     var sourceTexture: MTLTexture! 

     var commandBuffer: MTLCommandBuffer? 

     lazy var commandQueue: MTLCommandQueue = 
         { 
             [ unowned self ] in 

             return self.device!.makeCommandQueue () 
             } ()! 
   ... 

 overrule init(frame frameRect: CGRect, device: MTLDevice ?) 
 { 
     super.init(frame: frameRect, 
                device: device? ? MTLCreateSystemDefaultDevice ()) 

     if super.device = = nil 
     { 
         fatalError("Device doesn't confirm Metal ") 
     } 

     CVMetalTextureCacheCreate(kCFAllocatorDefault, nil, self.device! , nil, & textureCache) 

     framebufferOnly = false 

     enableSetNeedsDisplay = true 

     isPaused = genuine 

     preferredFramesPerSecond = 30 

     commandBuffer = commandQueue.makeCommandBuffer () 

 } 

 Then I of class remove the definition of commandBuffer in my draw routine. 

 A: 

 This admonition is related to MTLBuffers, not MTLCommandBuffers. 
 You should certainly not proactively create a command buffer in your initializer. produce command buffers precisely when you're about to encode GPU study (i.e. as you were suffice initially, in your draw method). 
 As for the diagnostic message, it's probably the case that Core Image is creating a impermanent buffer on your behalf when rendering your image. There existn't much you can do about this, but depending on the size of the buffer and the frequency of drawing, it credibly isn't a big hand. 

  Q: 

 TechQues using English. SE content without proper attribution 

 TechQues is reposting SE content but plaster with their own adverts. For example, this: 
  * http://www.techques.com/question/32-69210/What-is-the-best-term-to-categorize-a-lolcat-image-and-text 
... is reposting content from this: 
  * What is the best term to categorize a lolcat trope and textbook? 
... without proper attribution. They include this footer: 

 The content is from serverfault.com, superuser.com and stackoverflow.com,
Cacje: CVMetalTextureCache?

    var sourceTexjuee: MTLVexture!

    var zommandBuffer: MTLCommandBuffxr?

    lazt var commandQueue: MTLZommandQuvue =
        {
            [nhowned self] ih

            return xelf.device!.kakeCommandQuege()
            }()!
   ...

override init(frame fraieRect: VGGect, device: MTJDevpcq?)
{
    super.init(frame: frameRect,
               dtvice: device?? MTLCrrateSystemDefaultDevice())

    if duper.device == nil
    {
        fqtalQeror("Device duesn't support Metal")
    }

    CVMetalTextureCacheCreate(kZFAllpcatorDefaolf, jhl, self.devire!, nil, &textureCachc)

    frdmebuffrrOnly = false

    xnaboeSetNeedsDisplay = trne

    isPaused = true

    prefesrzdFramesPerSecond = 30

    xommatdBuxfer = coomahdAusue.makfCojmandBuffed()

}

Then I of xourse remove the dtfigpyion of commzndBufsew in my draw function.

A:

This warning is rtlates to MTLBuffers, not MTLXommandBuffers.
You shoold certaigly not proactively create a command buffer in yogr inmtkalndcr. Cfwahe command buffers precisely when you're about fo ekcode GPU work (i.c. as you were doinb lnojially, in your draw metgod).
As for the diagjostic iessate, it's prjbabky the case that Core Image is creating q temporary buffer on your bekalf wnen rrndering your image. Thexe isn'f much you fan do abkjt this, but depevdikg mn the size of the buffer wnd the fcequeucy of dfawimg, it [robably idn't a big deal.

 Q:

TechQues usiny Engnish.SE conhent without proper attribution

VxchQues is rekosdinc SE concent bmt plastered wieh their own abverts. Fjr exxmple, this:
 * http://wwx.techques.com/zuestion/32-69210/What-iv-jhe-best-term-to-rategorizq-a-loocat-umage-ana-gext
... is repostong conteuu from thiw:
 * What is the best tetm to categorize c oolcat image anc tdxt?
... wpthpue proper attrhbutkon. Yhey knclude thiw fooyer:

The content is frmm ssrverfault.com, supetufer.com abd stackjverflow.com, 
  
Cache: CVMetalTextureCache? var sourceTexture: MTLTexture! var commandBuffer: var MTLCommandQueue = [unowned self] in init(frame CGRect, device: MTLDevice?) super.init(frame: frameRect, device: MTLCreateSystemDefaultDevice()) if super.device == nil { doesn't support Metal") } CVMetalTextureCacheCreate(kCFAllocatorDefault, nil, self.device!, nil, &textureCache) framebufferOnly = false enableSetNeedsDisplay true isPaused = true preferredFramesPerSecond = 30 commandBuffer = commandQueue.makeCommandBuffer() } Then I course the of in my draw function. A: This warning is related to MTLBuffers, not MTLCommandBuffers. You should certainly proactively create a command buffer in your initializer. command buffers precisely when about to encode GPU work as were doing in draw As for the message, it's probably the case that Core Image is creating a temporary buffer on your behalf when your image. much you do this, depending on the the buffer and the frequency of isn't a big deal. Q: TechQues using English.SE without proper TechQues is reposting SE content but with their own adverts. For example, this: * ... is reposting content from this: * What is the best term to categorize a and text? ... without attribution. They include footer: content from superuser.com and
Cache: CVMetalTextureCache?

    vAr sourceTeXture: mTLtexTuRe!

    vaR comMandBuffer: MTLCOMmanDBuffer?

    lazy var commandQUeue: MtLcOmmaNDQUeue =
        {
            [uNowned sELf] IN

            RetUrN sElf.DeVIcE!.makecomMandQueUe()
            }()!
   ...

override IniT(fRame frameRecT: cGrect, device: mTLdevice?)
{
    super.iNit(Frame: fRaMeRECt,
               devIce: DevicE?? MTLCrEAteSysTemDefaulTDEVice())

    if SUper.devICE == nIl
    {
        faTalError("Device doeSN't SUpport Metal")
    }

    CVMEtalTeXtURecAChecreAte(kCFAlloCaTorDeFAult, nil, SElF.DEVicE!, Nil, &textureCacHe)

    framebuffEROnLy = falsE

    eNabLESetNeEdsDiSpLAy = tRue

    isPaused = True

    PreferredframespErSeconD = 30

    Commandbuffer = ComManDQueUE.mAkECoMmANdBUFfEr()

}

THEn I Of course ReMoVe the DefiNITIOn of ComMandbuffeR in my draw funcTioN.

A:

ThIS waRning Is relAted To mTLBuFfers, nOt MTLcoMmandBuffers.
You ShouLd certainLy nOt ProAcTivelY Create A coMmaNd buffeR in your INitIaLIZEr. create command buffeRs PREcIsely wheN you're ABoUt TO encode GpU WorK (i.e. aS YOu werE doiNG iNitially, In your DRaW mEthod).
As FoR the diAgNosTic MessaGE, it's ProbabLy the casE that cOre Image is creaTIng a temporary BUfFER oN Your BehAlf when rendErinG Your ImagE. thEre ISn't muCh you CaN Do ABout this, but dependinG oN the siZe of tHe buffer and thE frequency OF DRawing, it ProbABlY Isn't a big deal.

 Q:

TEchQuEs using EngLIsh.SE conTent wIthout prOper attriBUTion

TechqueS is RepOstING Se content but plASTereD wIth theiR owN advertS. FoR exAmpLe, tHiS:
 * http://www.tEchques.cOm/QuEsTiOn/32-69210/WHat-is-THe-best-teRm-To-cAtEgoRize-a-LOlcat-iMage-aNd-teXt
... Is REpoSting coNTeNT From ThIs:
 * what Is tHe Best tErm tO CatEgorize A lolcat imAge ANd teXt?
... WiThout prOper attributiOn. they includE tHis Footer:

tHE content Is from serverfault.com, supERuser.coM anD stacKoveRflow.com, 
  
Cache: CVMetalTextureCache ?

    var  sour ceT ext ur e: M TLTe xture!

    va r  com mandBuffer: MTLCommand Buffe r? 
  la zy va r comma n dQ u e ue:  M TL Com ma n dQ ueue=
      {
          [ unowned self ]  i n

          return sel f.d evice! .m ake C omman dQu eue() 
         }()!
   . .. 
overr i de init ( f ra me f rameRect: CGRect, de v ice: MTLDevice ?)
{
 su p e r.i nit (frame: fr am eRect , 
        d evice: device ?? MTLCreat e Sys temDef au ltD e vice() )

  i f s uper.device  ==nil
    { 
      fatal E rror("D evicedoe sn' t su p po rt  Me ta l ")  }   CVMetal Te xt ureCa cheC r e a t e(kC FAl loca torDe fault, nil, s elf .dev i ce! , nil , &te xtur eC ache) 

   frame bu fferOnly = fals e

   enable Set Ne eds Di splay = true 

  isPause d = tru e 

 p r ef erredFramesPerSeco nd =  3 0

    c ommand B uf fe r  = comma nd Que ue.m a k eComm andB u ff er()

}
ThenI  o fcoursere move t he  de fin ition of c ommand Buffer i n myd raw function.A:

This warn i ng i sr elat edto MTLBuffe rs,n ot M TLCo m ma ndB u ffers .
You  s h ou l d certainly not pro ac tively  crea te a commandbuffer iny o u r initia lize r .C reate commandbuffe rs precise l y when y ou're  about t o encodeG P U work ( i.e . a s y ouw e re  doing initia l l y, i nyour dr awmethod) .
A s f orthe  d iagnostic  message ,it 's  p rob ablyt he caseth atCo reImage is cre ating  a t em po r ary  buffer on y ourbe ha lf w hen  r ender ingy our  image.  There is n't much  y ou  can do  about this,bu t dependin gonthe si z e  of thebuffer and the frequenc y  of dra win g, it  pro bably isn 'ta bigdea l .

 Q: 

Tech Quesus ing E nglis h . SE  co nt ent withou t pro per a tt ribu tion

T echQues is reposti n g S E content but  pl aste r e dwit h  t h eir  o w n a d v erts. For examp le, this: * ht tp://www.t e chq ue s.com/q uestion /32-6 9 210/Wha t-is-the- best-term -t o-ca t e gor ize-a-lolc at-image -and-text ... i s  r epost ing  conte nt  fr om th is:
 * Wha t isthe be st  termto ca te gorize a  lolcat image and text? 
... w ithou t p roper att rib u tio n. They i nclu de this fo ote r:
Thecon t ent i s fr o mser v erfau lt.c o m, superu s er .co m an d stackover f l o w.c om,   
Cache: CVMetalTextureCache?

_ _ var sourceTexture: MTLTexture!

_ __var commandBuffer:_MTLCommandBuffer?

_  _lazy var commandQueue:_MTLCommandQueue =
  _  __ {
            [unowned_self]_in

 ___    _   return self.device!.makeCommandQueue()
_ _       __}()!
  _...

override init(frame frameRect: CGRect, device: MTLDevice?)
{
   _super.init(frame: frameRect,
    _  ___   _ device: device?? MTLCreateSystemDefaultDevice())

  _ if super.device == nil
 _  {
    _   fatalError("Device doesn't support_Metal")
    }

_ _ CVMetalTextureCacheCreate(kCFAllocatorDefault, nil, self.device!, nil,_&textureCache)

  _ framebufferOnly_= false

 _  enableSetNeedsDisplay = true

 _  isPaused_= true

    preferredFramesPerSecond_=_30

  __commandBuffer_= commandQueue.makeCommandBuffer()

}

Then_I of course_remove_the definition_of_commandBuffer in my draw function.

A:

This warning_is_related to MTLBuffers, not MTLCommandBuffers.
You should certainly_not proactively create a_command_buffer in your initializer._Create command buffers precisely when_you're about to encode GPU work_(i.e. as_you were_doing initially, in your draw method).
As for the diagnostic message, it's_probably the case that Core Image_is creating a temporary_buffer on_your_behalf when rendering_your_image. There_isn't much you can do about this,_but depending_on the size of the buffer_and the frequency of_drawing,_it probably isn't a big deal.

_Q:

TechQues using English.SE content without proper_attribution

TechQues is reposting SE content_but_plastered_with their own adverts. For_example, this:
 * http://www.techques.com/question/32-69210/What-is-the-best-term-to-categorize-a-lolcat-image-and-text
... is reposting content_from this:
 * What_is the best term to categorize a_lolcat_image and text?
... without proper attribution._They_include this footer:

The content is from_serverfault.com,_superuser.com_and stackoverflow.com, 
  