Ver Mensaje Individual
  #15  
Antiguo 06-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
mamcx,

Cita:
Empezado por mamcx
...Me suena lo de paralelo. ¿Alguna información de como es la codificación?...


Al parecer tiene que ver con este nueva clase en Delphi XE7 : TParallel



Revisa este fragmento de código:
Código Delphi [-]
  procedure TLifeEngine.TLifeThread.Execute;
  var
    Update, Timer: TStopwatch;
    I: Integer;
  begin
    NameThreadForDebugging('Life Thread');
    Update := TStopwatch.StartNew;
    while not Terminated do
    begin
      Timer := TStopwatch.StartNew;
      if Length(FNewBoard) > 0 then
      begin
        FOriginalBoard := FNewBoard;
        FNewBoard := nil;
      end else
        FOriginalBoard := FLifeEngine.FLifeBoard;
      SetLength(FNewBoard, Length(FOriginalBoard), Length(FOriginalBoard[0]));
      if FParallel then
     begin
       TParallel.For(Low(FOriginalBoard), High(FOriginalBoard),
       procedure (Value: Integer)
       begin
         ProcessCells(nil, Value);
       end);
     end else
       for I := Low(FOriginalBoard) to High(FOriginalBoard) do
         ProcessCells(nil, I);
    FGensPerSecond := {FFrequency / (EndTicks - StartTicks)} Timer.Frequency / Timer.ElapsedTicks;
      if Update.ElapsedTicks >= Update.Frequency div FLifeEngine.UpdateRate then
      begin
        FUpdating := True;
        Synchronize(UpdateGeneration);
        Assert(not FUpdating);
        Update := TStopwatch.StartNew;
      end;
      Inc(FLifeEngine.FGenerationCount);
      //Sleep(100);
      FElapsed := Timer.ElapsedTicks;
    end;
  end;
El fragmento de código anterior, es un ejemplo de la nueva Parallel Programming Library que viene con Delphi XE7, el video del ejemplo se puede ver a continuación:



El código completo del vídeo para VCL y FMX esta en el siguiente link : Parallel Library

Espero sea útil

Nelson.
Responder Con Cita